public void UpgradeUserSettingsIfNeeded_ExistingV8Key_DontOverwrite() { // Setup const string flexKeyName = "LanguageExplorer"; const string teKeyName = "TE"; const string dirName = "TestDir"; const string crashes = "NumberOfHorrendousCrashes"; const string valueName3 = "FlexTestValue1"; const string valueName4 = "FlexTestValue2"; const string launches = "launches"; const string userWs = "UserWs"; using (var version7Key = m_helper.SetupVersion7Settings()) using (var version8Key = m_helper.SetupVersion8Settings()) { // SUT FwRegistryHelper.UpgradeUserSettingsIfNeeded(); // Verification // first and foremost, is the version 7 key gone? Assert.IsFalse(RegistryHelper.KeyExists(FwRegistryHelper.FieldWorksVersionlessRegistryKey, FwRegistryHelper.OldFieldWorksRegistryKeyNameVersion7), "Old version 7.0 subkey tree didn't get wiped out."); // Check for version 8 key using (AssertIfRegistrySubkeyNotPresent(FwRegistryHelper.FieldWorksVersionlessRegistryKey, FwRegistryHelper.FieldWorksRegistryKeyName)) {} // dispose of local RegistryKey for Gendarme // Check that UserWs didn't get overwritten // Version 7 had 'pt', pre-existing Version 8 had 'fr', which we should have kept. CheckForRegistryStringValue(FwRegistryHelper.FieldWorksVersionlessRegistryKey, FwRegistryHelper.FieldWorksRegistryKeyName, userWs, "fr"); } }
public void UnlovedStuff_Removed_v7_and_v8_Upgrade() { using (var version7Key = m_helper.SetupVersion7Settings()) using (var version8Key = m_helper.SetupVersion8Settings()) using (var version9Key = m_helper.SetupVersion9Settings()) { // In 7. AssertRegistrySubkeyPresent(version7Key, FwRegistryHelper.TranslationEditor); AssertRegistrySubkeyPresent(version7Key, DummyFwRegistryHelper.FlexKeyName); // In 8. AssertRegistrySubkeyPresent(version8Key, FwRegistryHelper.TranslationEditor); AssertRegistrySubkeyPresent(version8Key, DummyFwRegistryHelper.FlexKeyName); // Not in 9. AssertRegistrySubkeyNotPresent(version9Key, FwRegistryHelper.TranslationEditor); AssertRegistrySubkeyNotPresent(version9Key, DummyFwRegistryHelper.FlexKeyName); // SUT Assert.IsTrue(FwRegistryHelper.UpgradeUserSettingsIfNeeded()); using (var newVersion9Key = m_helper.FieldWorksRegistryKey) { // Didn't make it into 9. AssertRegistrySubkeyNotPresent(newVersion9Key, FwRegistryHelper.TranslationEditor); AssertRegistryValueNotPresent(newVersion9Key, DummyFwRegistryHelper.FlexKeyName, DummyFwRegistryHelper.Crashes); AssertRegistryValueNotPresent(newVersion9Key, DummyFwRegistryHelper.FlexKeyName, DummyFwRegistryHelper.Launches); } } }
public void V8_and_V7_KeyRemoved_7_and_8_To_9_Upgrade() { using (m_helper.SetupVersion7Settings()) using (m_helper.SetupVersion8Settings()) using (m_helper.SetupVersion9Settings()) { // SUT Assert.IsTrue(FwRegistryHelper.UpgradeUserSettingsIfNeeded()); // Is the version 7 key gone? Assert.IsFalse(RegistryHelper.KeyExists(FwRegistryHelper.FieldWorksVersionlessRegistryKey, FwRegistryHelper.OldFieldWorksRegistryKeyNameVersion7), "Old version 7.0 subkey tree didn't get wiped out."); // Is the version 8 key gone? Assert.IsFalse(RegistryHelper.KeyExists(FwRegistryHelper.FieldWorksVersionlessRegistryKey, FwRegistryHelper.OldFieldWorksRegistryKeyNameVersion8), "Old version 8 subkey tree didn't get wiped out."); using (var version9Key = m_helper.FieldWorksRegistryKey) { VerifyExpectedMigrationResults(version9Key); Assert.AreEqual("sp", version9Key.GetValue(DummyFwRegistryHelper.UserWs)); } } }
public void UpgradeUserSettingsIfNeeded_NotNeeded_ProjectSharedNotSet() { // If there's no version 7.0 key, the upgrade shouldn't happen // SUT FwRegistryHelper.UpgradeUserSettingsIfNeeded(); // Verification // The above upgrade shouldn't have done anything; verify that the version 8 ProjectShared key // is missing. AssertIfRegistryValuePresent(FwRegistryHelper.FieldWorksRegistryKey, null, "ProjectShared"); }
public void UpgradeUserSettingsIfNeeded_NotNeeded() { // If there's no version 7.0 key, the upgrade shouldn't happen // SUT FwRegistryHelper.UpgradeUserSettingsIfNeeded(); // Verification // The above upgrade shouldn't have done anything; verify at least that the version 8 key // is missing. AssertIfRegistrySubkeyPresent(FwRegistryHelper.FieldWorksVersionlessRegistryKey, FwRegistryHelper.FieldWorksRegistryKeyName); }
public void UpgradeUserSettingsIfNeeded_NotNeeded() { // SUT Assert.IsFalse(FwRegistryHelper.UpgradeUserSettingsIfNeeded()); // Verification // The above upgrade shouldn't have done anything; verify at least that the version 9 key is empty. using (var version9Key = FwRegistryHelper.FieldWorksRegistryKey) { Assert.AreEqual(0, version9Key.SubKeyCount, "There was nothing to migrate, so no subkeys should have been created"); Assert.AreEqual(0, version9Key.ValueCount, "There was nothing to migrate, so no values should have been created"); } }
public void ExpectedSettingsRetained_8_To_9_Upgrade() { using (m_helper.SetupVersion8Settings()) { // SUT Assert.IsTrue(FwRegistryHelper.UpgradeUserSettingsIfNeeded()); using (var version9Key = m_helper.FieldWorksRegistryKey) { VerifyExpectedMigrationResults(version9Key); Assert.AreEqual("fr", version9Key.GetValue(DummyFwRegistryHelper.UserWs)); } } }
public void UpgradeUserSettingsIfNeeded_Needed() { // Setup const string flexKeyName = "LanguageExplorer"; const string teKeyName = "TE"; const string dirName = "TestDir"; const string crashes = "NumberOfHorrendousCrashes"; const string valueName3 = "FlexTestValue1"; const string valueName4 = "FlexTestValue2"; const string launches = "launches"; using (var version7Key = m_helper.SetupVersion7Settings()) { // SUT FwRegistryHelper.UpgradeUserSettingsIfNeeded(); // Verification // first and foremost, is the version 7 key gone? Assert.IsFalse(RegistryHelper.KeyExists(FwRegistryHelper.FieldWorksVersionlessRegistryKey, FwRegistryHelper.OldFieldWorksRegistryKeyNameVersion7), "Old version 7.0 subkey tree didn't get wiped out."); // Check for version 8 key using (var version8Key = AssertIfRegistrySubkeyNotPresent( FwRegistryHelper.FieldWorksVersionlessRegistryKey, FwRegistryHelper.FieldWorksRegistryKeyName)) { // Check for flex key using (var flexKey = AssertIfRegistrySubkeyNotPresent(version8Key, flexKeyName)) { // Check for TE key using (var teKey = AssertIfRegistrySubkeyNotPresent(version8Key, teKeyName)) { // Check for absense of crash value AssertIfRegistryValuePresent(FwRegistryHelper.FieldWorksVersionlessRegistryKey, FwRegistryHelper.FieldWorksRegistryKeyName, crashes); // Check for absense of launches value AssertIfRegistryValuePresent(version8Key, flexKeyName, launches); CheckForRegistryIntValue(version8Key, flexKeyName, valueName3, 20); CheckForRegistryStringValue(version8Key, teKeyName, dirName, "Z:\\somedirectory"); } } } } }
public void HKCU_ProjectShared_Removed_8_To_9_Upgrade() { using (var version8Key = m_helper.SetupVersion8Settings()) { version8Key.SetValue(DummyFwRegistryHelper.ProjectShared, "False"); // Verify ProjectShared is present in version8Key AssertRegistryValuePresent(version8Key, null, DummyFwRegistryHelper.ProjectShared); object projectsSharedValue; // Verify that the version 9 ProjectShared key is missing before migration AssertRegistryValueNotPresent(FwRegistryHelper.FieldWorksRegistryKey, null, DummyFwRegistryHelper.ProjectShared); //SUT Assert.IsTrue(FwRegistryHelper.UpgradeUserSettingsIfNeeded()); // Verification // Verify that the version 9 ProjectShared key is still missing after migration. AssertRegistryValueNotPresent(FwRegistryHelper.FieldWorksRegistryKey, null, DummyFwRegistryHelper.ProjectShared); } }
public void RetainExtantV9Setting_v7_and_v8_Upgrade() { // Setup using (m_helper.SetupVersion7Settings()) using (m_helper.SetupVersion8Settings()) using (m_helper.SetupVersion9Settings()) { // SUT Assert.IsTrue(FwRegistryHelper.UpgradeUserSettingsIfNeeded()); // Verification using (var versionlessKey = FwRegistryHelper.FieldWorksVersionlessRegistryKey) { // Check that UserWs didn't get overwritten // Version 7 had 'pt', pre-existing Version 8 had 'fr', but 9 already had it set to 'sp'. AssertRegistryStringValueEquals(versionlessKey, FwRegistryHelper.FieldWorksRegistryKeyName, DummyFwRegistryHelper.UserWs, "sp"); } } }
public void TestUpgradeFrom32BitTo64Bit() { using (m_helper.SetupVersion8Old32BitSettings()) using (m_helper.SetupVersion9Old32BitSettings()) { // SUT Assert.IsTrue(FwRegistryHelper.UpgradeUserSettingsIfNeeded()); // Is the key under WOW6432Node gone? Assert.IsNull(FwRegistryHelper.FieldWorksVersionlessOld32BitRegistryKey, "Old 32-bit key tree didn't get wiped out."); using (var version9Key = m_helper.FieldWorksRegistryKey) { Assert.AreEqual(DummyFwRegistryHelper.UserWsValue, version9Key.GetValue(DummyFwRegistryHelper.UserWs), "Values from 32-bit version 9 did not get migrated"); Assert.AreEqual("From32Bit8", version9Key.GetValue(DummyFwRegistryHelper.ExtraValue), "Values from 32-bit version 8 did not get migrated"); VerifyExpectedMigrationResults(version9Key); } } }