102 lines
3.2 KiB
Go
102 lines
3.2 KiB
Go
package services
|
|||
|
|
|
||
|
|
import (
|
||
|
|
"testing"
|
||
|
|
|
||
|
|
"github.com/wailsapp/wails/v3/pkg/application"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestLoadMainWindowStateOptionsDefaults(t *testing.T) {
|
||
|
|
store := newTestStore(t)
|
||
|
|
service := &AppService{Config: NewAppConfigService(store)}
|
||
|
|
|
||
|
|
options := service.loadMainWindowStateOptions()
|
||
|
|
if options.Width != mainWindowWidth {
|
||
|
|
t.Fatalf("width = %d, want %d", options.Width, mainWindowWidth)
|
||
|
|
}
|
||
|
|
if options.Height != mainWindowHeight {
|
||
|
|
t.Fatalf("height = %d, want %d", options.Height, mainWindowHeight)
|
||
|
|
}
|
||
|
|
if options.StartState != application.WindowStateNormal {
|
||
|
|
t.Fatalf("start state = %v, want normal", options.StartState)
|
||
|
|
}
|
||
|
|
if !options.Remember {
|
||
|
|
t.Fatal("remember = false, want true")
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLoadMainWindowStateOptionsUsesSavedValues(t *testing.T) {
|
||
|
|
store := newTestStore(t)
|
||
|
|
config := NewAppConfigService(store)
|
||
|
|
service := &AppService{Config: config}
|
||
|
|
|
||
|
|
if err := config.SetAppConfig(settingKeyWindowWidth, "1440"); err != nil {
|
||
|
|
t.Fatalf("set width: %v", err)
|
||
|
|
}
|
||
|
|
if err := config.SetAppConfig(settingKeyWindowHeight, "900"); err != nil {
|
||
|
|
t.Fatalf("set height: %v", err)
|
||
|
|
}
|
||
|
|
if err := config.SetAppConfig(settingKeyWindowStartState, windowStartStateMaximized); err != nil {
|
||
|
|
t.Fatalf("set start state: %v", err)
|
||
|
|
}
|
||
|
|
|
||
|
|
options := service.loadMainWindowStateOptions()
|
||
|
|
if options.Width != 1440 {
|
||
|
|
t.Fatalf("width = %d, want 1440", options.Width)
|
||
|
|
}
|
||
|
|
if options.Height != 900 {
|
||
|
|
t.Fatalf("height = %d, want 900", options.Height)
|
||
|
|
}
|
||
|
|
if options.StartState != application.WindowStateMaximised {
|
||
|
|
t.Fatalf("start state = %v, want maximised", options.StartState)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLoadMainWindowStateOptionsIgnoresSavedValuesWhenDisabled(t *testing.T) {
|
||
|
|
store := newTestStore(t)
|
||
|
|
config := NewAppConfigService(store)
|
||
|
|
service := &AppService{Config: config}
|
||
|
|
|
||
|
|
if err := config.SetAppConfig(settingKeyWindowRememberState, "false"); err != nil {
|
||
|
|
t.Fatalf("set remember state: %v", err)
|
||
|
|
}
|
||
|
|
if err := config.SetAppConfig(settingKeyWindowWidth, "1440"); err != nil {
|
||
|
|
t.Fatalf("set width: %v", err)
|
||
|
|
}
|
||
|
|
if err := config.SetAppConfig(settingKeyWindowStartState, windowStartStateMaximized); err != nil {
|
||
|
|
t.Fatalf("set start state: %v", err)
|
||
|
|
}
|
||
|
|
|
||
|
|
options := service.loadMainWindowStateOptions()
|
||
|
|
if options.Width != mainWindowWidth {
|
||
|
|
t.Fatalf("width = %d, want %d", options.Width, mainWindowWidth)
|
||
|
|
}
|
||
|
|
if options.StartState != application.WindowStateNormal {
|
||
|
|
t.Fatalf("start state = %v, want normal", options.StartState)
|
||
|
|
}
|
||
|
|
if options.Remember {
|
||
|
|
t.Fatal("remember = true, want false")
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestLoadMainWindowStateOptionsClampsSmallSavedSize(t *testing.T) {
|
||
|
|
store := newTestStore(t)
|
||
|
|
config := NewAppConfigService(store)
|
||
|
|
service := &AppService{Config: config}
|
||
|
|
|
||
|
|
if _, err := store.DB.Exec("UPDATE appconfig SET value = '900' WHERE key = ?", settingKeyWindowWidth); err != nil {
|
||
|
|
t.Fatalf("set raw width: %v", err)
|
||
|
|
}
|
||
|
|
if _, err := store.DB.Exec("UPDATE appconfig SET value = '600' WHERE key = ?", settingKeyWindowHeight); err != nil {
|
||
|
|
t.Fatalf("set raw height: %v", err)
|
||
|
|
}
|
||
|
|
|
||
|
|
options := service.loadMainWindowStateOptions()
|
||
|
|
if options.Width != mainWindowMinWidth {
|
||
|
|
t.Fatalf("width = %d, want %d", options.Width, mainWindowMinWidth)
|
||
|
|
}
|
||
|
|
if options.Height != mainWindowMinHeight {
|
||
|
|
t.Fatalf("height = %d, want %d", options.Height, mainWindowMinHeight)
|
||
|
|
}
|
||
|
|
}
|