Add persisted UI settings preferences
This commit is contained in:
@@ -865,6 +865,48 @@ func TestUISaveSecuritySettingsUpdatesExistingVault(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestUISaveSettingsPersistsUIPreferences(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
dir := t.TempDir()
|
||||
configPath := filepath.Join(dir, "ui-prefs.json")
|
||||
|
||||
u := newUIWithSession("desktop", &session.Manager{}, statePaths{
|
||||
DefaultSaveAsPath: filepath.Join(dir, "vault.kdbx"),
|
||||
RecentVaultsPath: filepath.Join(dir, "recent-vaults.json"),
|
||||
RecentRemotesPath: filepath.Join(dir, "recent-remotes.json"),
|
||||
UIPreferencesPath: configPath,
|
||||
})
|
||||
u.settingsGroupControls.Value = true
|
||||
u.settingsLifecycleAdvanced.Value = false
|
||||
u.settingsHistory.Value = false
|
||||
u.settingsDenseLayout.Value = true
|
||||
|
||||
if err := u.saveSecuritySettingsAction(); err != nil {
|
||||
t.Fatalf("saveSecuritySettingsAction() error = %v", err)
|
||||
}
|
||||
|
||||
reloaded := newUIWithSession("desktop", &session.Manager{}, statePaths{
|
||||
DefaultSaveAsPath: filepath.Join(dir, "vault.kdbx"),
|
||||
RecentVaultsPath: filepath.Join(dir, "recent-vaults.json"),
|
||||
RecentRemotesPath: filepath.Join(dir, "recent-remotes.json"),
|
||||
UIPreferencesPath: configPath,
|
||||
})
|
||||
|
||||
if !reloaded.groupControlsHidden {
|
||||
t.Fatal("groupControlsHidden after reload = false, want true")
|
||||
}
|
||||
if reloaded.lifecycleAdvancedHidden {
|
||||
t.Fatal("lifecycleAdvancedHidden after reload = true, want false")
|
||||
}
|
||||
if reloaded.historyHidden {
|
||||
t.Fatal("historyHidden after reload = true, want false")
|
||||
}
|
||||
if !reloaded.denseLayout {
|
||||
t.Fatal("denseLayout after reload = false, want true")
|
||||
}
|
||||
}
|
||||
|
||||
func TestUILockAndUnlockClearMasterPasswordField(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
@@ -3420,6 +3462,46 @@ func TestUIGroupToolsDisclosureStatePersists(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestUIDenseLayoutPreferencePersists(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
configPath := filepath.Join(t.TempDir(), "ui-prefs.json")
|
||||
|
||||
first := newUIWithSession("desktop", &session.Manager{})
|
||||
first.uiPreferencesPath = configPath
|
||||
first.denseLayout = true
|
||||
first.saveUIPreferences()
|
||||
|
||||
second := newUIWithSession("desktop", &session.Manager{})
|
||||
second.uiPreferencesPath = configPath
|
||||
second.denseLayout = false
|
||||
second.loadUIPreferences()
|
||||
|
||||
if !second.denseLayout {
|
||||
t.Fatal("denseLayout = false after reload, want true")
|
||||
}
|
||||
}
|
||||
|
||||
func TestUIEntryRowMetricsUseDenseLayout(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
u := newUIWithSession("desktop", &session.Manager{})
|
||||
|
||||
comfortableInset, comfortableTitle, _, _, _, comfortableGap := u.entryRowMetrics()
|
||||
u.denseLayout = true
|
||||
denseInset, denseTitle, _, _, _, denseGap := u.entryRowMetrics()
|
||||
|
||||
if denseInset >= comfortableInset {
|
||||
t.Fatalf("dense inset = %v, want smaller than comfortable inset %v", denseInset, comfortableInset)
|
||||
}
|
||||
if denseTitle >= comfortableTitle {
|
||||
t.Fatalf("dense title size = %v, want smaller than comfortable title size %v", denseTitle, comfortableTitle)
|
||||
}
|
||||
if denseGap >= comfortableGap {
|
||||
t.Fatalf("dense divider gap = %v, want smaller than comfortable divider gap %v", denseGap, comfortableGap)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSelectingRecentRemoteConnectionKeepsPasswordMasked(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user