use super::*;
#[test]
fn is_uuid_recognizes_canonical_form() {
assert!(is_uuid("0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"));
assert!(is_uuid("00000000-0000-0000-0000-000000000000"));
assert!(!is_uuid("0a1b2c3d-4e5f-4a6b-8c7d"));
assert!(!is_uuid("zzzzzzzz-4e5f-4a6b-8c7d-9e0f1a2b3c4d"));
assert!(!is_uuid("-Users-testuser-Projects-foo"));
assert!(!is_uuid("/Users/testuser/Projects/foo"));
assert!(!is_uuid("."));
}
#[test]
fn is_bare_subagent_hex_recognizes_agent_ids() {
assert!(is_bare_subagent_hex("ae24045bd6d4bdaff"));
assert!(is_bare_subagent_hex("a585e25a580c59e7a"));
assert!(!is_bare_subagent_hex("abc123")); assert!(!is_bare_subagent_hex(
"0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
));
assert!(!is_bare_subagent_hex("plain-token"));
}
#[test]
fn is_teammate_agent_id_recognizes_name_embedded_ids() {
assert!(is_teammate_agent_id("aVSRepro-68a2a1661c9390c1"));
assert!(is_teammate_agent_id("aVSSpeedField-d5dab904cc98a239"));
assert!(is_teammate_agent_id("aVSMultiRegion-06fb13dd400b53a5"));
assert!(is_teammate_agent_id("aP1-engine-9cf2f06d6235ca64"));
assert!(!is_teammate_agent_id("ae24045bd6d4bdaff"));
assert!(!is_teammate_agent_id(
"0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"
));
assert!(!is_teammate_agent_id(
"a93b39f8-1681-4535-88eb-5b8ecce0abcd"
));
assert!(!is_teammate_agent_id("-Users-testuser-Projects-foo"));
assert!(!is_teammate_agent_id("aVSRepro-68a2a1")); assert!(!is_teammate_agent_id("aVSRepro-zzzzzzzzzzzz")); }
#[test]
fn is_subagent_id_accepts_both_bare_hex_and_teammate() {
assert!(is_subagent_id("ae24045bd6d4bdaff")); assert!(is_subagent_id("aVSRepro-68a2a1661c9390c1")); assert!(is_subagent_id("aP1-engine-9cf2f06d6235ca64")); assert!(!is_subagent_id("0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d")); assert!(!is_subagent_id("a93b39f8-1681-4535-88eb-5b8ecce0abcd")); assert!(!is_subagent_id("-Users-testuser-Projects-foo")); assert!(!is_subagent_id("abc123")); }
#[test]
fn pins_single_session_covers_at_tokens_and_jsonl() {
assert!(pins_single_session("@main"));
assert!(pins_single_session("@trap:CrimsonWillowFen5180"));
assert!(pins_single_session("@0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"));
assert!(pins_single_session("@ae24045bd6d4bdaff"));
assert!(pins_single_session("@aVSRepro-68a2a1661c9390c1")); assert!(pins_single_session("@aP1-engine-9cf2f06d6235ca64")); assert!(pins_single_session("@13d9645a")); assert!(pins_single_session("/a/b/0a1b2c3d.jsonl"));
assert!(!pins_single_session("0a1b2c3d-4e5f-4a6b-8c7d-9e0f1a2b3c4d"));
assert!(!pins_single_session("-Users-testuser-Projects-foo"));
assert!(!pins_single_session("."));
}
#[test]
fn is_uuid_prefix_covers_first_segment_not_full_or_agent() {
assert!(is_uuid_prefix("13d9")); assert!(is_uuid_prefix("13d9645a")); assert!(is_uuid_prefix("13d9645a3a5")); assert!(!is_uuid_prefix("13d")); assert!(!is_uuid_prefix("13d9645a3a5b")); assert!(!is_uuid_prefix("13d9645g")); assert!(!is_uuid_prefix("13d9-645a")); assert!(is_uuid_prefix("13d9645a-3a5")); assert!(is_uuid_prefix("13d9645a-3a5b-4a92")); assert!(is_uuid_prefix("13d9645a-3a5b-4a92-b83d-e0f94c5a9b9")); assert!(!is_uuid_prefix("13d9645a-3a5b-4a92-b83d-e0f94c5a9b90")); assert!(!is_uuid_prefix("13d9645a-3a5g")); }