Chromium Code Reviews| Index: chrome/browser/sync/test/integration/two_client_themes_sync_test.cc |
| diff --git a/chrome/browser/sync/test/integration/two_client_themes_sync_test.cc b/chrome/browser/sync/test/integration/two_client_themes_sync_test.cc |
| index 260e6a4f592cafe052dbf4fa900a7a4d88606495..fb2a48c8c17b260bb20855c72fedd00e0deb802f 100644 |
| --- a/chrome/browser/sync/test/integration/two_client_themes_sync_test.cc |
| +++ b/chrome/browser/sync/test/integration/two_client_themes_sync_test.cc |
| @@ -8,11 +8,11 @@ |
| #include "chrome/browser/sync/test/integration/sync_test.h" |
| #include "chrome/browser/sync/test/integration/themes_helper.h" |
| -using sync_integration_test_util::AwaitCommitActivityCompletion; |
| +using themes_helper::AwaitThemeIsPendingInstall; |
| +using themes_helper::AwaitUsingSystemTheme; |
| +using themes_helper::AwaitUsingDefaultTheme; |
| using themes_helper::GetCustomTheme; |
| using themes_helper::GetThemeID; |
| -using themes_helper::HasOrWillHaveCustomTheme; |
| -using themes_helper::ThemeIsPendingInstall; |
| using themes_helper::UseCustomTheme; |
| using themes_helper::UseDefaultTheme; |
| using themes_helper::UseSystemTheme; |
| @@ -38,13 +38,11 @@ class LegacyTwoClientThemesSyncTest : public SyncTest { |
| DISALLOW_COPY_AND_ASSIGN(LegacyTwoClientThemesSyncTest); |
| }; |
| -// TODO(akalin): Add tests for model association (i.e., tests that |
| -// start with SetupClients(), change the theme state, then call |
| -// SetupSync()). |
| - |
| -// TCM ID - 3667311. |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, CustomTheme) { |
| - ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| +// Starts with default themes, then sets up sync and uses it to set all |
| +// profiles to use a custom theme. Does not actually install any themes, but |
| +// instead verifies the custom theme is pending for install. |
| +IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, DefaultThenSyncCustom) { |
| + ASSERT_TRUE(SetupSync()); |
| ASSERT_FALSE(UsingCustomTheme(GetProfile(0))); |
| ASSERT_FALSE(UsingCustomTheme(GetProfile(1))); |
| @@ -55,203 +53,94 @@ IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, CustomTheme) { |
| ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier())); |
| - ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| - |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| - ASSERT_FALSE(UsingCustomTheme(GetProfile(1))); |
| - // TODO(akalin): Add functions to simulate when a pending extension |
| + // TODO(sync): Add functions to simulate when a pending extension |
|
pval...(no longer on Chromium)
2014/07/15 20:34:47
it may not have been exactly what akalin had in mi
rlarocque
2014/07/15 20:47:01
No, not really.
Custom themes are implemented as
pval...(no longer on Chromium)
2014/07/16 00:03:46
K; makes sense.
|
| // is installed as well as when a pending extension fails to |
| // install. |
| - ASSERT_TRUE(ThemeIsPendingInstall(GetProfile(1), GetCustomTheme(0))); |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier())); |
| + ASSERT_TRUE(AwaitThemeIsPendingInstall(GetProfile(1), GetCustomTheme(0))); |
| + |
| + EXPECT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| + EXPECT_FALSE(UsingCustomTheme(GetProfile(1))); |
| + EXPECT_EQ(GetCustomTheme(0), GetThemeID(verifier())); |
| } |
| -// TCM ID - 3599303. |
| -// TODO(sync): Fails on Chrome OS. See http://crbug.com/84575. |
| -#if defined(OS_CHROMEOS) |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, DISABLED_NativeTheme) { |
| -#else |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, NativeTheme) { |
| -#endif // OS_CHROMEOS |
| - ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| +// Starts with custom themes, then sets up sync and uses it to set all profiles |
| +// to the system theme. |
| +IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, CustomThenSyncNative) { |
| + ASSERT_TRUE(SetupClients()); |
| UseCustomTheme(GetProfile(0), 0); |
| UseCustomTheme(GetProfile(1), 0); |
| UseCustomTheme(verifier(), 0); |
| - ASSERT_TRUE(AwaitQuiescence()); |
| + ASSERT_TRUE(SetupSync()); |
| UseSystemTheme(GetProfile(0)); |
| UseSystemTheme(verifier()); |
| ASSERT_TRUE(UsingSystemTheme(GetProfile(0))); |
| ASSERT_TRUE(UsingSystemTheme(verifier())); |
| - ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| + ASSERT_TRUE(AwaitUsingSystemTheme(GetProfile(1))); |
| - ASSERT_TRUE(UsingSystemTheme(GetProfile(0))); |
| - ASSERT_TRUE(UsingSystemTheme(GetProfile(1))); |
| - ASSERT_TRUE(UsingSystemTheme(verifier())); |
| + EXPECT_TRUE(UsingSystemTheme(GetProfile(0))); |
| + EXPECT_TRUE(UsingSystemTheme(GetProfile(1))); |
| + EXPECT_TRUE(UsingSystemTheme(verifier())); |
| } |
| -// TCM ID - 7247455. |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, DefaultTheme) { |
| - ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| +// Starts with custom themes, then sets up sync and uses it to set all profiles |
| +// to the default theme. |
| +IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, CustomThenSyncDefault) { |
| + ASSERT_TRUE(SetupClients()); |
| UseCustomTheme(GetProfile(0), 0); |
| UseCustomTheme(GetProfile(1), 0); |
| UseCustomTheme(verifier(), 0); |
| - ASSERT_TRUE(AwaitQuiescence()); |
| + ASSERT_TRUE(SetupSync()); |
| UseDefaultTheme(GetProfile(0)); |
| UseDefaultTheme(verifier()); |
| - ASSERT_TRUE(UsingDefaultTheme(GetProfile(0))); |
| - ASSERT_TRUE(UsingDefaultTheme(verifier())); |
| - |
| - ASSERT_TRUE(GetClient(0)->AwaitMutualSyncCycleCompletion(GetClient(1))); |
| - |
| - ASSERT_TRUE(UsingDefaultTheme(GetProfile(0))); |
| - ASSERT_TRUE(UsingDefaultTheme(GetProfile(1))); |
| - ASSERT_TRUE(UsingDefaultTheme(verifier())); |
| -} |
| - |
| -// TCM ID - 7292065. |
| -// TODO(sync): Fails on Chrome OS. See http://crbug.com/84575. |
| -// TODO(erg): Fails on linux_aura. See http://crbug.com/304554 |
| -#if defined(OS_CHROMEOS) || defined(OS_LINUX) |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, DISABLED_NativeDefaultRace) { |
| -#else |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, NativeDefaultRace) { |
| -#endif // OS_CHROMEOS |
| - ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| - |
| - UseSystemTheme(GetProfile(0)); |
| - UseDefaultTheme(GetProfile(1)); |
| - ASSERT_TRUE(UsingSystemTheme(GetProfile(0))); |
| - ASSERT_TRUE(UsingDefaultTheme(GetProfile(1))); |
| - |
| - ASSERT_TRUE(AwaitQuiescence()); |
| - |
| - // TODO(akalin): Add function that compares two profiles to see if |
| - // they're at the same state. |
| - |
| - ASSERT_EQ(UsingSystemTheme(GetProfile(0)), |
| - UsingSystemTheme(GetProfile(1))); |
| - ASSERT_EQ(UsingDefaultTheme(GetProfile(0)), |
| - UsingDefaultTheme(GetProfile(1))); |
| -} |
| - |
| -// TCM ID - 7294077. |
| -// TODO(sync): Fails on Chrome OS. See http://crbug.com/84575. |
| -#if defined(OS_CHROMEOS) |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, DISABLED_CustomNativeRace) { |
| -#else |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, CustomNativeRace) { |
| -#endif // OS_CHROMEOS |
| - ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| - |
| - UseCustomTheme(GetProfile(0), 0); |
| - UseSystemTheme(GetProfile(1)); |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| - ASSERT_TRUE(UsingSystemTheme(GetProfile(1))); |
| - |
| - ASSERT_TRUE(AwaitQuiescence()); |
| - |
| - // TODO(akalin): Add function to wait for pending extensions to be |
| - // installed. |
| - |
| - ASSERT_EQ(HasOrWillHaveCustomTheme(GetProfile(0), GetCustomTheme(0)), |
| - HasOrWillHaveCustomTheme(GetProfile(1), GetCustomTheme(0))); |
| -} |
| - |
| -// TCM ID - 7307225. |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, CustomDefaultRace) { |
| - ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| - |
| - UseCustomTheme(GetProfile(0), 0); |
| - UseDefaultTheme(GetProfile(1)); |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| - ASSERT_TRUE(UsingDefaultTheme(GetProfile(1))); |
| - |
| - ASSERT_TRUE(AwaitQuiescence()); |
| - |
| - ASSERT_EQ(HasOrWillHaveCustomTheme(GetProfile(0), GetCustomTheme(0)), |
| - HasOrWillHaveCustomTheme(GetProfile(1), GetCustomTheme(0))); |
| -} |
| - |
| -// TCM ID - 7264758. |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, CustomCustomRace) { |
| - ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| - |
| - // TODO(akalin): Generalize this to n clients. |
| - |
| - UseCustomTheme(GetProfile(0), 0); |
| - UseCustomTheme(GetProfile(1), 1); |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| - ASSERT_EQ(GetCustomTheme(1), GetThemeID(GetProfile(1))); |
| - |
| - ASSERT_TRUE(AwaitQuiescence()); |
| + EXPECT_TRUE(UsingDefaultTheme(GetProfile(0))); |
| + EXPECT_TRUE(UsingDefaultTheme(verifier())); |
| - bool using_theme_0 = |
| - (GetThemeID(GetProfile(0)) == GetCustomTheme(0)) && |
| - HasOrWillHaveCustomTheme(GetProfile(1), GetCustomTheme(0)); |
| - bool using_theme_1 = |
| - HasOrWillHaveCustomTheme(GetProfile(0), GetCustomTheme(1)) && |
| - (GetThemeID(GetProfile(1)) == GetCustomTheme(1)); |
| - |
| - // Equivalent to using_theme_0 xor using_theme_1. |
| - ASSERT_NE(using_theme_0, using_theme_1); |
| + ASSERT_TRUE(AwaitUsingDefaultTheme(GetProfile(1))); |
| + EXPECT_TRUE(UsingDefaultTheme(GetProfile(0))); |
| + EXPECT_TRUE(UsingDefaultTheme(GetProfile(1))); |
| + EXPECT_TRUE(UsingDefaultTheme(verifier())); |
| } |
| -// TCM ID - 3723272. |
| -IN_PROC_BROWSER_TEST_F(LegacyTwoClientThemesSyncTest, DisableThemes) { |
| +// Cycles through a set of options. |
| +// |
| +// Most other tests have significant coverage of model association. This test |
| +// is intended to test steady-state scenarios. |
| +IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, CycleOptions) { |
| ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| - ASSERT_FALSE(UsingCustomTheme(GetProfile(0))); |
| - ASSERT_FALSE(UsingCustomTheme(GetProfile(1))); |
| - ASSERT_FALSE(UsingCustomTheme(verifier())); |
| - |
| - ASSERT_TRUE(GetClient(1)->DisableSyncForDatatype(syncer::THEMES)); |
| UseCustomTheme(GetProfile(0), 0); |
| UseCustomTheme(verifier(), 0); |
| - ASSERT_TRUE(AwaitCommitActivityCompletion(GetSyncService((0)))); |
| - |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| - ASSERT_FALSE(UsingCustomTheme(GetProfile(1))); |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier())); |
| - ASSERT_TRUE(GetClient(1)->EnableSyncForDatatype(syncer::THEMES)); |
| - ASSERT_TRUE(AwaitQuiescence()); |
| + ASSERT_TRUE(AwaitThemeIsPendingInstall(GetProfile(1), GetCustomTheme(0))); |
| + EXPECT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| + EXPECT_EQ(GetCustomTheme(0), GetThemeID(verifier())); |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| - ASSERT_FALSE(UsingCustomTheme(GetProfile(1))); |
| - ASSERT_TRUE(ThemeIsPendingInstall(GetProfile(1), GetCustomTheme(0))); |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier())); |
| -} |
| - |
| -// TCM ID - 3687288. |
| -IN_PROC_BROWSER_TEST_F(TwoClientThemesSyncTest, DisableSync) { |
| - ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; |
| + UseSystemTheme(GetProfile(0)); |
| + UseSystemTheme(verifier()); |
| - ASSERT_FALSE(UsingCustomTheme(GetProfile(0))); |
| - ASSERT_FALSE(UsingCustomTheme(GetProfile(1))); |
| - ASSERT_FALSE(UsingCustomTheme(verifier())); |
| + ASSERT_TRUE(AwaitUsingSystemTheme(GetProfile(1))); |
| + EXPECT_TRUE(UsingSystemTheme(GetProfile(0))); |
| + EXPECT_TRUE(UsingSystemTheme(GetProfile(1))); |
| + EXPECT_TRUE(UsingSystemTheme(verifier())); |
| - ASSERT_TRUE(GetClient(1)->DisableSyncForAllDatatypes()); |
| - UseCustomTheme(GetProfile(0), 0); |
| - UseCustomTheme(verifier(), 0); |
| - ASSERT_TRUE( |
| - AwaitCommitActivityCompletion(GetSyncService((0)))); |
| - |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| - ASSERT_FALSE(UsingCustomTheme(GetProfile(1))); |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier())); |
| + UseDefaultTheme(GetProfile(0)); |
| + UseDefaultTheme(verifier()); |
| - ASSERT_TRUE(GetClient(1)->EnableSyncForAllDatatypes()); |
| - ASSERT_TRUE(AwaitQuiescence()); |
| + ASSERT_TRUE(AwaitUsingDefaultTheme(GetProfile(1))); |
| + EXPECT_TRUE(UsingDefaultTheme(GetProfile(0))); |
| + EXPECT_TRUE(UsingDefaultTheme(GetProfile(1))); |
| + EXPECT_TRUE(UsingDefaultTheme(verifier())); |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); |
| - ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier())); |
| - ASSERT_FALSE(UsingCustomTheme(GetProfile(1))); |
| - ASSERT_TRUE(ThemeIsPendingInstall(GetProfile(1), GetCustomTheme(0))); |
| + UseCustomTheme(GetProfile(0), 1); |
| + UseCustomTheme(verifier(), 1); |
| + ASSERT_TRUE(AwaitThemeIsPendingInstall(GetProfile(1), GetCustomTheme(1))); |
| + EXPECT_EQ(GetCustomTheme(1), GetThemeID(GetProfile(0))); |
| + EXPECT_EQ(GetCustomTheme(1), GetThemeID(verifier())); |
| } |