49 lines
1.4 KiB
Rust
49 lines
1.4 KiB
Rust
use settings_value::SettingsValue;
|
|
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn osc52_default_is_deny() {
|
|
assert_eq!(Osc52ClipboardAccess::default(), Osc52ClipboardAccess::Deny);
|
|
}
|
|
|
|
#[test]
|
|
fn osc52_deny_blocks_read_and_write() {
|
|
let access = Osc52ClipboardAccess::Deny;
|
|
assert!(!access.allows_read());
|
|
assert!(!access.allows_write());
|
|
}
|
|
|
|
#[test]
|
|
fn osc52_write_only_allows_write_but_not_read() {
|
|
let access = Osc52ClipboardAccess::WriteOnly;
|
|
assert!(access.allows_write());
|
|
assert!(!access.allows_read());
|
|
}
|
|
|
|
#[test]
|
|
fn osc52_read_write_allows_both() {
|
|
let access = Osc52ClipboardAccess::ReadWrite;
|
|
assert!(access.allows_read());
|
|
assert!(access.allows_write());
|
|
}
|
|
|
|
#[test]
|
|
fn osc52_deserializes_all_variants_from_settings_value() {
|
|
let deny = Osc52ClipboardAccess::from_file_value(&serde_json::json!("deny")).unwrap();
|
|
assert_eq!(deny, Osc52ClipboardAccess::Deny);
|
|
|
|
let write_only =
|
|
Osc52ClipboardAccess::from_file_value(&serde_json::json!("write_only")).unwrap();
|
|
assert_eq!(write_only, Osc52ClipboardAccess::WriteOnly);
|
|
|
|
let read_write =
|
|
Osc52ClipboardAccess::from_file_value(&serde_json::json!("read_write")).unwrap();
|
|
assert_eq!(read_write, Osc52ClipboardAccess::ReadWrite);
|
|
}
|
|
|
|
#[test]
|
|
fn osc52_rejects_unknown_variant() {
|
|
assert!(Osc52ClipboardAccess::from_file_value(&serde_json::json!("allow_all")).is_none());
|
|
}
|