package ui import ( "context" "testing" "github.com/bnema/dumber/internal/domain/entity" ) func TestBuildOmniboxConfigUsesRuntimeUIConfig(t *testing.T) { deps := &Dependencies{} runtimeCfg := entity.RuntimeUIConfig{ DefaultUIScale: 1.35, DefaultSearchEngine: "https://search.example/?q=%s", SearchShortcuts: map[string]entity.RuntimeSearchShortcut{ "gh": { URL: "https://github.com/search?q=%s", Description: "GitHub", }, }, Omnibox: entity.RuntimeOmniboxConfig{ Style: "command", InitialBehavior: entity.OmniboxInitialBehaviorMostVisited, MaxHistoryDays: 7, }, } got := buildOmniboxConfig(deps, runtimeCfg, nil, omniboxCallbacks{ NormalizeNavigationURL: func(_ context.Context, input string) string { return "normalized:" + input }, }) if got.Style != "command" { t.Fatalf("Style = %q, want command", got.Style) } if got.MaxHistoryDays != 7 { t.Fatalf("MaxHistoryDays = %d, want 7", got.MaxHistoryDays) } if got.DefaultSearch != "https://search.example/?q=%s" { t.Fatalf("DefaultSearch = %q, want runtime default search", got.DefaultSearch) } if got.InitialBehavior != entity.OmniboxInitialBehaviorMostVisited { t.Fatalf("InitialBehavior = %q, want most_visited", got.InitialBehavior) } if got.UIScale != 1.35 { t.Fatalf("UIScale = %v, want 1.35", got.UIScale) } if got.ShortcutsUC == nil { t.Fatal("ShortcutsUC is nil") } if got.NormalizeNavigationURL == nil { t.Fatal("NormalizeNavigationURL is nil") } if normalized := got.NormalizeNavigationURL(context.Background(), "page.html"); normalized != "normalized:page.html" { t.Fatalf("NormalizeNavigationURL propagated callback = %q", normalized) } }