Files
galaxy/app/src/terminal/settings_tests.rs
T

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());
}