Codex Handbook
config/src/types_tests.rs 88 lines
use super::*;use pretty_assertions::assert_eq;#[test]fn deserialize_skill_config_with_name_selector() {    let cfg: SkillConfig = toml::from_str(        r#"            name = "github:yeet"            enabled = false        "#,    )    .expect("should deserialize skill config with name selector");    assert_eq!(cfg.name.as_deref(), Some("github:yeet"));    assert_eq!(cfg.path, None);    assert!(!cfg.enabled);}#[test]fn deserialize_skill_config_with_path_selector() {    let tempdir = tempfile::tempdir().expect("tempdir");    let skill_path = tempdir.path().join("skills").join("demo").join("SKILL.md");    let cfg: SkillConfig = toml::from_str(&format!(        r#"            path = {path:?}            enabled = false        "#,        path = skill_path.display().to_string(),    ))    .expect("should deserialize skill config with path selector");    assert_eq!(        cfg,        SkillConfig {            path: Some(                AbsolutePathBuf::from_absolute_path(&skill_path)                    .expect("skill path should be absolute"),            ),            name: None,            enabled: false,        }    );}#[test]fn memories_config_clamps_count_limits_to_nonzero_values() {    let config = MemoriesConfig::from(MemoriesToml {        max_raw_memories_for_consolidation: Some(0),        max_rollouts_per_startup: Some(0),        ..Default::default()    });    assert_eq!(        config,        MemoriesConfig {            max_raw_memories_for_consolidation: 1,            max_rollouts_per_startup: 1,            ..MemoriesConfig::default()        }    );}#[test]fn memories_config_clamps_rate_limit_remaining_threshold() {    let config = MemoriesConfig::from(MemoriesToml {        min_rate_limit_remaining_percent: Some(101),        ..Default::default()    });    assert_eq!(        config,        MemoriesConfig {            min_rate_limit_remaining_percent: 100,            ..MemoriesConfig::default()        }    );    let config = MemoriesConfig::from(MemoriesToml {        min_rate_limit_remaining_percent: Some(-1),        ..Default::default()    });    assert_eq!(        config,        MemoriesConfig {            min_rate_limit_remaining_percent: 0,            ..MemoriesConfig::default()        }    );}