detached a9d674e

plan_test.go RawHistoryFolder

1package sdk
2
3import (
4	"testing"
5
6	"github.com/bnema/zut/packages/core"
7)
8
9// TestRuntimePlanAccessors guards GO-004: an embedder that seeds history with
10// SetMessages can also seed the session-scoped plan, so `show` and indexed
11// updates see the persisted steps instead of an empty plan.
12func TestRuntimePlanAccessors(t *testing.T) {
13	rt := &Runtime{agent: core.NewAgent(nil, "model", "", nil)}
14	rt.SetPlan([]PlanStep{
15		{Step: "one", Status: "in_progress"},
16		{Step: "two", Status: "pending"},
17	})
18
19	got := rt.Plan()
20	if len(got) != 2 || got[0].Step != "one" || got[0].Status != "in_progress" || got[1].Step != "two" || got[1].Status != "pending" {
21		t.Fatalf("plan = %#v", got)
22	}
23	got[0].Step = "mutated"
24	if again := rt.Plan(); again[0].Step != "one" {
25		t.Fatalf("Plan returned an aliased slice: %#v", again)
26	}
27
28	rt.SetPlan(nil)
29	if cleared := rt.Plan(); cleared != nil {
30		t.Fatalf("plan after clear = %#v, want nil", cleared)
31	}
32}
33
34func TestRuntimePlanAccessorsWithoutAgent(t *testing.T) {
35	rt := &Runtime{}
36	rt.SetPlan([]PlanStep{{Step: "one", Status: "pending"}})
37	if got := rt.Plan(); got != nil {
38		t.Fatalf("plan = %#v, want nil without an agent", got)
39	}
40}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 477

↑↓ moveenter openesc close