mirror of
https://github.com/openai/codex.git
synced 2026-05-03 02:46:39 +00:00
feat(tui) /clear (#12444)
# /clear feature! /clear will clear your terminal while preserving the context/state of the thread.
This commit is contained in:
@@ -4342,6 +4342,36 @@ async fn slash_clean_submits_background_terminal_cleanup() {
|
||||
);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn slash_clear_requests_ui_clear_when_idle() {
|
||||
let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(None).await;
|
||||
|
||||
chat.dispatch_command(SlashCommand::Clear);
|
||||
|
||||
assert_matches!(rx.try_recv(), Ok(AppEvent::ClearUi));
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn slash_clear_is_disabled_while_task_running() {
|
||||
let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(None).await;
|
||||
chat.bottom_pane.set_task_running(true);
|
||||
|
||||
chat.dispatch_command(SlashCommand::Clear);
|
||||
|
||||
let event = rx.try_recv().expect("expected disabled command error");
|
||||
match event {
|
||||
AppEvent::InsertHistoryCell(cell) => {
|
||||
let rendered = lines_to_single_string(&cell.display_lines(80));
|
||||
assert!(
|
||||
rendered.contains("'/clear' is disabled while a task is in progress."),
|
||||
"expected /clear task-running error, got {rendered:?}"
|
||||
);
|
||||
}
|
||||
other => panic!("expected InsertHistoryCell error, got {other:?}"),
|
||||
}
|
||||
assert!(rx.try_recv().is_err(), "expected no follow-up events");
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn slash_memory_drop_submits_drop_memories_op() {
|
||||
let (mut chat, _rx, mut op_rx) = make_chatwidget_manual(None).await;
|
||||
|
||||
Reference in New Issue
Block a user