package main import "testing" // A get with brief: true answers only its last note, saying how many were left out (issue 1071). func TestGetBriefAnswersOnlyTheLastNote(t *testing.T) { h := newHarness(t) n := h.open(t, "the counter skips a number", "hq") for _, text := range []string{"first", "second", "third"} { if _, err := h.Note(n, text); err != nil { t.Fatalf("note: %v", err) } } got, err := h.call(t, "get", map[string]any{"number": float64(n), "brief": true}) if err != nil { t.Fatalf("get brief: %v", err) } b, ok := got.(*Brief) if !ok { t.Fatalf("want *Brief, got %T", got) } if len(b.Notes) != 1 || b.Notes[0].Text != "third" { t.Fatalf("want only the last note (third), got %+v", b.Notes) } if b.NotesLeftOut != 2 { t.Fatalf("want notes-left-out 2, got %d", b.NotesLeftOut) } } // A get without brief is unchanged (issue 1071). func TestGetWithoutBriefIsUnchanged(t *testing.T) { h := newHarness(t) n := h.open(t, "the counter skips a number", "hq") if _, err := h.Note(n, "first"); err != nil { t.Fatalf("note: %v", err) } got, err := h.call(t, "get", map[string]any{"number": float64(n)}) if err != nil { t.Fatalf("get: %v", err) } v, ok := got.(*View) if !ok { t.Fatalf("want *View, got %T", got) } if len(v.Notes) != 1 || v.Notes[0].Text != "first" { t.Fatalf("want every note, got %+v", v.Notes) } }