Files
Captioneer/src/output/history/history_test.go
T

33 lines
1011 B
Go

package history
import (
"testing"
"tea.chunkbyte.com/kato/captioneer/src/captions"
)
func TestHistoryKeepsFinalsBoundedAndProvisionalSeparate(t *testing.T) {
sink := New(2, true)
_ = sink.Publish(captions.Event{Kind: captions.Provisional, Text: "draft"})
if sink.Snapshot().Provisional == nil {
t.Fatal("provisional caption was not retained")
}
for _, text := range []string{"one", "two", "three"} {
_ = sink.Publish(captions.Event{Kind: captions.Final, Text: text})
}
snapshot := sink.Snapshot()
if snapshot.Provisional != nil || len(snapshot.Finals) != 2 || snapshot.Finals[0].Text != "two" {
t.Fatalf("snapshot = %#v", snapshot)
}
}
func TestDisabledHistoryKeepsExistingFinalsButStopsRecording(t *testing.T) {
sink := New(10, true)
_ = sink.Publish(captions.Event{Kind: captions.Final, Text: "kept"})
sink.SetEnabled(false)
_ = sink.Publish(captions.Event{Kind: captions.Final, Text: "ignored"})
if got := sink.Transcript(); got != "kept" {
t.Fatalf("transcript = %q", got)
}
}