haematite-cli 0.21.7

The haematite command: serve a store, its door and Studio, answer MCP, query with jq, and host the store's assistant seat
Documentation
use super::placeable;

/// A branch name Lys can hold is accepted; one with a separator Lys refuses
/// (`/`, a space, a non-ASCII letter) is refused by name at the fork, before
/// anything is written.
#[test]
fn a_new_branch_name_must_be_one_lys_can_place() {
    for name in [
        "main",
        "import-18dd7386ccaf5138-0",
        "hermes_jobs.check",
        "A-1",
    ] {
        assert!(placeable(name).is_ok(), "{name} was refused");
    }
    for name in ["import/job-1", "with space", "café"] {
        let refused = placeable(name).err().map(|failure| failure.code);
        assert_eq!(
            refused.as_deref(),
            Some("branch_name_unplaceable"),
            "{name}"
        );
    }
}