// 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) } }