31 lines
790 B
Go
31 lines
790 B
Go
// Copyright (c) 2026 Storm Dragon
|
|
// Authors: Storm Dragon, Angus Kola
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
package app
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"git.stormux.org/storm/cthulhu/internal/version"
|
|
)
|
|
|
|
func TestPresentVersion(t *testing.T) {
|
|
speech := &fakeSpeechQueue{
|
|
spoken: make(chan string, 1),
|
|
requests: make(chan speechRequest, 1),
|
|
interrupt: make(chan struct{}, 1),
|
|
}
|
|
presentVersion(speech, "2.58.0", "x11", "GNOME")
|
|
select {
|
|
case <-speech.interrupt:
|
|
default:
|
|
t.Fatal("version presentation did not interrupt speech")
|
|
}
|
|
request := <-speech.requests
|
|
want := version.Details("2.58.0", "x11", "GNOME")
|
|
if request.Text != want || request.Role != "system" || request.Cause != "version" {
|
|
t.Fatalf("request = %+v, want %q as system version", request, want)
|
|
}
|
|
}
|