返回 DeepSeek-Reasonix
reasoning_display_app_test.go
根目录 / desktop / reasoning_display_app_test.go
1 package main
2
3 import (
4 "testing"
5
6 "reasonix/internal/config"
7 )
8
9 func TestReasoningDisplayDefaultsAndPersistsUserSelection(t *testing.T) {
10 isolateDesktopUserDirs(t)
11
12 app := NewApp()
13 settings := app.Settings()
14 startup := app.DesktopStartupSettings()
15 if settings.DisplayMode != "standard" || settings.ReasoningDisplayMode != "auto" || settings.ReasoningDisplayModeExplicit {
16 t.Fatalf("Settings() defaults = display:%q reasoning:%q explicit:%t, want standard/auto/false", settings.DisplayMode, settings.ReasoningDisplayMode, settings.ReasoningDisplayModeExplicit)
17 }
18 if startup.DisplayMode != "standard" || startup.ReasoningDisplayMode != "auto" || startup.ReasoningDisplayModeExplicit {
19 t.Fatalf("DesktopStartupSettings() defaults = display:%q reasoning:%q explicit:%t, want standard/auto/false", startup.DisplayMode, startup.ReasoningDisplayMode, startup.ReasoningDisplayModeExplicit)
20 }
21
22 if err := app.SetReasoningDisplayMode("summary"); err != nil {
23 t.Fatalf("SetReasoningDisplayMode(summary): %v", err)
24 }
25 settings = app.Settings()
26 startup = app.DesktopStartupSettings()
27 if settings.SessionExperience != "standard" || settings.ReasoningDisplayMode != "auto" || !settings.ReasoningDisplayModeExplicit {
28 t.Fatalf("Settings() legacy mapping = experience:%q reasoning:%q explicit:%t, want standard/auto/true", settings.SessionExperience, settings.ReasoningDisplayMode, settings.ReasoningDisplayModeExplicit)
29 }
30 if startup.SessionExperience != "standard" || startup.ReasoningDisplayMode != "auto" || !startup.ReasoningDisplayModeExplicit {
31 t.Fatalf("DesktopStartupSettings() legacy mapping = experience:%q reasoning:%q explicit:%t, want standard/auto/true", startup.SessionExperience, startup.ReasoningDisplayMode, startup.ReasoningDisplayModeExplicit)
32 }
33 persisted := config.LoadForEdit(config.UserConfigPath())
34 if persisted.DesktopSessionExperience() != "standard" || persisted.DesktopReasoningDisplayMode() != "auto" || !persisted.DesktopReasoningDisplayModeExplicit() {
35 t.Fatalf("persisted legacy mapping = %+v, want standard/auto", persisted.Desktop)
36 }
37 }
38
39 func TestLegacySessionExperienceSettersMapToCanonicalModes(t *testing.T) {
40 isolateDesktopUserDirs(t)
41 app := NewApp()
42
43 if err := app.SetReasoningDisplayMode("expanded"); err != nil {
44 t.Fatal(err)
45 }
46 if got := app.Settings().SessionExperience; got != "deep" {
47 t.Fatalf("expanded reasoning = %q, want deep", got)
48 }
49 for _, apply := range []struct {
50 name string
51 call func() error
52 }{
53 {name: "other reasoning", call: func() error { return app.SetReasoningDisplayMode("future-mode") }},
54 {name: "display", call: func() error { return app.SetDisplayMode("compact") }},
55 {name: "expand thinking", call: func() error { return app.SetExpandThinking(true) }},
56 } {
57 if err := apply.call(); err != nil {
58 t.Fatalf("%s legacy setter: %v", apply.name, err)
59 }
60 settings := app.Settings()
61 if settings.SessionExperience != "standard" || settings.DisplayMode != "standard" || settings.ReasoningDisplayMode != "auto" {
62 t.Fatalf("%s mapping = experience:%q display:%q reasoning:%q", apply.name, settings.SessionExperience, settings.DisplayMode, settings.ReasoningDisplayMode)
63 }
64 }
65 }
66
66 lines GO