Skip to content

Commit 67527a1

Browse files
author
Stewart Miles
committed
Fixed default values being overridden by system settings.
When the ProjectSettings class was configured to read data from project settings, it was overriding the default value of a setting with the system setting if the project setting was not present. This changes the behavior of ProjectSettings to only read and query keys from the either project settings or system settings by default. It's still possible to use the fallback behavior if required. Change-Id: I5de13a210394993dafe2d247deaabbac34232450
1 parent de99e72 commit 67527a1

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

source/VersionHandlerImpl/src/ProjectSettings.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ public bool UseProjectSettings {
441441
/// Get the location to fetch settings from.
442442
/// </summary>
443443
private SettingsLocation GetLocation {
444-
get { return UseProjectSettings ? SettingsLocation.All : SettingsLocation.System; }
444+
get { return UseProjectSettings ? SettingsLocation.Project : SettingsLocation.System; }
445445
}
446446

447447
/// <summary>

source/VersionHandlerImpl/unit_tests/src/ProjectSettingsTest.cs

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,9 @@ public void AccessSystemSettings() {
356356
Assert.That(settings.GetInt("an_int", 21, SettingsLocation.System), Is.EqualTo(42));
357357
Assert.That(settings.HasKey("an_int", SettingsLocation.System), Is.EqualTo(true));
358358
Assert.That(settings.HasKey("an_int", SettingsLocation.Project), Is.EqualTo(false));
359-
Assert.That(settings.HasKey("an_int"), Is.EqualTo(true));
359+
// By default this is configured to read from the project settings so this should
360+
// be empty.
361+
Assert.That(settings.HasKey("an_int"), Is.EqualTo(false));
360362

361363
Assert.That(settings.GetBool("a_bool", true, SettingsLocation.System),
362364
Is.EqualTo(true));
@@ -365,7 +367,7 @@ public void AccessSystemSettings() {
365367
Is.EqualTo(true));
366368
Assert.That(settings.HasKey("a_bool", SettingsLocation.System), Is.EqualTo(true));
367369
Assert.That(settings.HasKey("a_bool", SettingsLocation.Project), Is.EqualTo(false));
368-
Assert.That(settings.HasKey("a_bool"), Is.EqualTo(true));
370+
Assert.That(settings.HasKey("a_bool"), Is.EqualTo(false));
369371

370372
Assert.That(settings.GetFloat("a_float", 2.72f, SettingsLocation.System),
371373
Is.EqualTo(2.72f));
@@ -374,17 +376,17 @@ public void AccessSystemSettings() {
374376
Is.EqualTo(3.14f));
375377
Assert.That(settings.HasKey("a_float", SettingsLocation.System), Is.EqualTo(true));
376378
Assert.That(settings.HasKey("a_float", SettingsLocation.Project), Is.EqualTo(false));
377-
Assert.That(settings.HasKey("a_float"), Is.EqualTo(true));
379+
Assert.That(settings.HasKey("a_float"), Is.EqualTo(false));
378380

379381
Assert.That(settings.GetString("a_string", "cansada", SettingsLocation.System),
380382
Is.EqualTo("cansada"));
381383
settings.SetString("a_string", "nada", SettingsLocation.System);
382384
Assert.That(settings.GetString("a_string", "casa", SettingsLocation.System),
383385
Is.EqualTo("nada"));
384-
Assert.That(settings.HasKey("a_string"), Is.EqualTo(true));
386+
Assert.That(settings.HasKey("a_string"), Is.EqualTo(false));
385387
Assert.That(settings.HasKey("a_string", SettingsLocation.System), Is.EqualTo(true));
386388
Assert.That(settings.HasKey("a_string", SettingsLocation.Project), Is.EqualTo(false));
387-
Assert.That(settings.HasKey("a_string"), Is.EqualTo(true));
389+
Assert.That(settings.HasKey("a_string"), Is.EqualTo(false));
388390

389391
// Replace the backing stores for system and project settings.
390392
ProjectSettings.projectSettings = new InMemorySettings();

0 commit comments

Comments
 (0)