- Renamed directory: codex-backend-openapi-models -> llmx-backend-openapi-models
- Updated all Cargo.toml files:
- Package names: codex-* -> llmx-*
- Library names: codex_* -> llmx_*
- Workspace dependencies updated
- Renamed Rust source files:
- codex*.rs -> llmx*.rs (all modules)
- codex_conversation -> llmx_conversation
- codex_delegate -> llmx_delegate
- codex_message_processor -> llmx_message_processor
- codex_tool_* -> llmx_tool_*
- Updated all Rust imports:
- use codex_* -> use llmx_*
- mod codex* -> mod llmx*
- Updated environment variables in code:
- CODEX_HOME -> LLMX_HOME
- .codex -> .llmx paths
- Updated protocol crate lib name for proper linking
Note: Some compilation errors remain (type inference issues) but all
renaming is complete. Will fix compilation in next phase.
🤖 Generated with Claude Code
25 lines
788 B
Rust
25 lines
788 B
Rust
//! Regression test: ensure that `StatusIndicatorWidget` sanitises ANSI escape
|
||
//! sequences so that no raw `\x1b` bytes are written into the backing
|
||
//! buffer. Rendering logic is tricky to unit‑test end‑to‑end, therefore we
|
||
//! verify the *public* contract of `ansi_escape_line()` which the widget now
|
||
//! relies on.
|
||
|
||
use llmx_ansi_escape::ansi_escape_line;
|
||
|
||
#[test]
|
||
fn ansi_escape_line_strips_escape_sequences() {
|
||
let text_in_ansi_red = "\x1b[31mRED\x1b[0m";
|
||
|
||
// The returned line must contain three printable glyphs and **no** raw
|
||
// escape bytes.
|
||
let line = ansi_escape_line(text_in_ansi_red);
|
||
|
||
let combined: String = line
|
||
.spans
|
||
.iter()
|
||
.map(|span| span.content.to_string())
|
||
.collect();
|
||
|
||
assert_eq!(combined, "RED");
|
||
}
|