TestCtrlDMidTurnDoesNotQuit: the textarea is empty during a running turn (submit resets it), so without the phase gate a reflexive Ctrl+D would quit instantly, skipping turnCtx cancel and orphaning a running tool's process group. Ctrl+C is the mid-turn escape; Ctrl+D must be inert until idle.
(t *testing.T)
| 113 | // instantly, skipping turnCtx cancel and orphaning a running tool's process |
| 114 | // group. Ctrl+C is the mid-turn escape; Ctrl+D must be inert until idle. |
| 115 | func TestCtrlDMidTurnDoesNotQuit(t *testing.T) { |
| 116 | m := newTestModel(t, func(http.ResponseWriter, *http.Request) {}) |
| 117 | m.phase = phaseThinking |
| 118 | if m.ta.Value() != "" { |
| 119 | t.Fatal("precondition: textarea empty") |
| 120 | } |
| 121 | _, cmd := m.Update(tea.KeyMsg{Type: tea.KeyCtrlD}) |
| 122 | if cmd != nil { |
| 123 | t.Fatal("Ctrl+D mid-turn must not quit") |
| 124 | } |
| 125 | } |
| 126 | |
| 127 | // TestPlaceholderMentionsTab: placeholder names both "/" and "Tab" as entry |
| 128 | // points into the popover, so new users discover either way. |
nothing calls this directly
no test coverage detected