use crate::config::Config;
#[test]
fn unquoted_dotted_key_is_accepted() {
let toml = r#"
[brain.caps]
AGENTS.md = 600
TOOLS.md = 400
"#;
let config: Config = toml::from_str(toml).unwrap();
let caps = &config.brain.caps;
assert_eq!(caps.get("AGENTS.md"), Some(&600));
assert_eq!(caps.get("TOOLS.md"), Some(&400));
assert_eq!(caps.len(), 2);
}
#[test]
fn quoted_keys_still_work() {
let toml = r#"
[brain.caps]
"AGENTS.md" = 600
"TOOLS.md" = 400
"#;
let config: Config = toml::from_str(toml).unwrap();
let caps = &config.brain.caps;
assert_eq!(caps.get("AGENTS.md"), Some(&600));
assert_eq!(caps.get("TOOLS.md"), Some(&400));
}
#[test]
fn mixed_quoted_and_unquoted_keys() {
let toml = r#"
[brain.caps]
AGENTS.md = 600
"SOUL.md" = 300
MEMORY.md = 800
"#;
let config: Config = toml::from_str(toml).unwrap();
let caps = &config.brain.caps;
assert_eq!(caps.get("AGENTS.md"), Some(&600));
assert_eq!(caps.get("SOUL.md"), Some(&300));
assert_eq!(caps.get("MEMORY.md"), Some(&800));
assert_eq!(caps.len(), 3);
}
#[test]
fn empty_caps_section() {
let toml = r#"
[brain.caps]
"#;
let config: Config = toml::from_str(toml).unwrap();
assert!(config.brain.caps.is_empty());
}
#[test]
fn no_caps_section_defaults_to_empty() {
let toml = r#"
[brain]
strip_empty_sections = true
"#;
let config: Config = toml::from_str(toml).unwrap();
assert!(config.brain.caps.is_empty());
}
#[test]
fn cap_for_resolves_with_dotted_keys() {
let toml = r#"
[brain.caps]
AGENTS.md = 600
"#;
let config: Config = toml::from_str(toml).unwrap();
assert_eq!(config.brain.cap_for("AGENTS.md"), 600);
assert_eq!(config.brain.cap_for("SOUL.md"), 500); }