squeez 1.11.2

Hook-based token compressor for 5 AI CLI hosts (Claude Code, Copilot CLI, OpenCode, Gemini CLI, Codex CLI). Up to 95% bash compression, signature-mode for code reads, cross-call dedup, MCP server, self-teaching protocol. Zero runtime deps.
Documentation
use squeez::commands::{test_runner::TestRunnerHandler, Handler};
use squeez::config::Config;

#[test]
fn keeps_failures_drops_passing() {
    let mut lines: Vec<String> = (0..50)
        .map(|i| format!("  \u{2713} test_{} (2ms)", i))
        .collect();
    lines.push("  \u{2717} test_auth: expected 200 got 401".to_string());
    lines.push("Tests: 1 failed, 50 passed".to_string());
    let result = TestRunnerHandler.compress("jest", lines, &Config::default());
    assert!(result
        .iter()
        .any(|l| l.contains("\u{2717}") || l.contains("failed")));
    assert!(result
        .iter()
        .any(|l| l.contains("50 passed") || l.contains("Tests:")));
    assert!(result.len() < 10);
}

#[test]
fn all_passing_still_shows_summary() {
    let mut lines: Vec<String> = (0..20).map(|i| format!("  \u{2713} test_{}", i)).collect();
    lines.push("Tests: 20 passed".to_string());
    let result = TestRunnerHandler.compress("jest", lines, &Config::default());
    assert!(result.iter().any(|l| l.contains("20 passed")));
}