51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
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)
|
|
}
|
|
}
|