返回 DeepSeek-Reasonix
desktop_launch_config_test.go
根目录 / desktop / desktop_launch_config_test.go
1 package main
2
3 import "testing"
4
5 func TestDesktopWindowFramelessOnlyOnWindows(t *testing.T) {
6 cases := []struct {
7 goos string
8 want bool
9 }{
10 {goos: "windows", want: true},
11 {goos: "darwin", want: false},
12 {goos: "linux", want: false},
13 }
14 for _, tt := range cases {
15 if got := desktopWindowFrameless(tt.goos); got != tt.want {
16 t.Fatalf("desktopWindowFrameless(%q) = %v, want %v", tt.goos, got, tt.want)
17 }
18 }
19 }
20
21 func TestInitialDesktopWindowSizeRestoresSavedGeometry(t *testing.T) {
22 isolateDesktopUserDirs(t)
23 resetLastKnownWindowStateForTest()
24 t.Cleanup(resetLastKnownWindowStateForTest)
25
26 app := NewApp()
27 saved := DesktopWindowState{Width: 1100, Height: 900, X: 40, Y: 60, Maximised: false}
28 if err := app.SaveWindowState(saved); err != nil {
29 t.Fatalf("SaveWindowState: %v", err)
30 }
31
32 geometry := initialDesktopWindowGeometry()
33 w, h := geometry.Width, geometry.Height
34 if geometry.Position == nil || geometry.Position.X != saved.X || geometry.Position.Y != saved.Y {
35 t.Fatalf("saved position lost: %+v", geometry.Position)
36 }
37 if w != saved.Width || h != saved.Height {
38 t.Fatalf("main window size = %dx%d, want %dx%d", w, h, saved.Width, saved.Height)
39 }
40 }
41
42 func TestInitialDesktopWindowSizePreservesMaximisedGeometry(t *testing.T) {
43 isolateDesktopUserDirs(t)
44 resetLastKnownWindowStateForTest()
45 t.Cleanup(resetLastKnownWindowStateForTest)
46
47 app := NewApp()
48 saved := DesktopWindowState{Width: 1100, Height: 700, X: 40, Y: 50, Maximised: true}
49 if err := app.SaveWindowState(saved); err != nil {
50 t.Fatalf("SaveWindowState: %v", err)
51 }
52
53 geometry := initialDesktopWindowGeometry()
54 w, h := geometry.Width, geometry.Height
55 if geometry.Position == nil || geometry.Position.X != saved.X || geometry.Position.Y != saved.Y {
56 t.Fatalf("saved position lost: %+v", geometry.Position)
57 }
58 if w != saved.Width || h != saved.Height {
59 t.Fatalf("maximised saved state = %dx%d, want %dx%d", w, h, saved.Width, saved.Height)
60 }
61 }
62
63 func TestInitialDesktopWindowSizeFallsBackToDefaults(t *testing.T) {
64 isolateDesktopUserDirs(t)
65 resetLastKnownWindowStateForTest()
66 t.Cleanup(resetLastKnownWindowStateForTest)
67
68 geometry := initialDesktopWindowGeometry()
69 w, h := geometry.Width, geometry.Height
70 if geometry.Position != nil {
71 t.Fatal("missing state must request centering")
72 }
73 if w != defaultDesktopWindowWidth || h != defaultDesktopWindowHeight {
74 t.Fatalf("no saved state = %dx%d, want default %dx%d",
75 w, h, defaultDesktopWindowWidth, defaultDesktopWindowHeight)
76 }
77 }
78
78 lines GO