OLD | NEW |
| (Empty) |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "base/basictypes.h" | |
6 #include "chrome/browser/sync/profile_sync_service_harness.h" | |
7 #include "chrome/browser/sync/test/live_sync/themes_helper.h" | |
8 #include "chrome/browser/sync/test/live_sync/live_sync_test.h" | |
9 | |
10 using themes_helper::GetCustomTheme; | |
11 using themes_helper::GetThemeID; | |
12 using themes_helper::UseCustomTheme; | |
13 using themes_helper::UseDefaultTheme; | |
14 using themes_helper::UseNativeTheme; | |
15 using themes_helper::UsingCustomTheme; | |
16 using themes_helper::UsingDefaultTheme; | |
17 using themes_helper::UsingNativeTheme; | |
18 | |
19 class SingleClientThemesSyncTest : public LiveSyncTest { | |
20 public: | |
21 SingleClientThemesSyncTest() : LiveSyncTest(SINGLE_CLIENT) {} | |
22 virtual ~SingleClientThemesSyncTest() {} | |
23 | |
24 private: | |
25 DISALLOW_COPY_AND_ASSIGN(SingleClientThemesSyncTest); | |
26 }; | |
27 | |
28 // TODO(akalin): Add tests for model association (i.e., tests that | |
29 // start with SetupClients(), change the theme state, then call | |
30 // SetupSync()). | |
31 | |
32 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest, CustomTheme) { | |
33 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | |
34 | |
35 ASSERT_FALSE(UsingCustomTheme(GetProfile(0))); | |
36 ASSERT_FALSE(UsingCustomTheme(verifier())); | |
37 | |
38 UseCustomTheme(GetProfile(0), 0); | |
39 UseCustomTheme(verifier(), 0); | |
40 ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); | |
41 ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier())); | |
42 | |
43 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion( | |
44 "Waiting for custom themes change.")); | |
45 | |
46 ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0))); | |
47 ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier())); | |
48 } | |
49 | |
50 // TODO(sync): Fails on Chrome OS. See http://crbug.com/84575. | |
51 #if defined(OS_CHROMEOS) | |
52 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest, FAILS_NativeTheme) { | |
53 #else | |
54 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest, NativeTheme) { | |
55 #endif // OS_CHROMEOS | |
56 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | |
57 | |
58 UseCustomTheme(GetProfile(0), 0); | |
59 UseCustomTheme(verifier(), 0); | |
60 ASSERT_FALSE(UsingNativeTheme(GetProfile(0))); | |
61 ASSERT_FALSE(UsingNativeTheme(verifier())); | |
62 | |
63 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion( | |
64 "Waiting for custom themes change.")); | |
65 | |
66 UseNativeTheme(GetProfile(0)); | |
67 UseNativeTheme(verifier()); | |
68 ASSERT_TRUE(UsingNativeTheme(GetProfile(0))); | |
69 ASSERT_TRUE(UsingNativeTheme(verifier())); | |
70 | |
71 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion( | |
72 "Waiting for native themes change.")); | |
73 | |
74 ASSERT_TRUE(UsingNativeTheme(GetProfile(0))); | |
75 ASSERT_TRUE(UsingNativeTheme(verifier())); | |
76 } | |
77 | |
78 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest, DefaultTheme) { | |
79 ASSERT_TRUE(SetupSync()) << "SetupSync() failed."; | |
80 | |
81 UseCustomTheme(GetProfile(0), 0); | |
82 UseCustomTheme(verifier(), 0); | |
83 ASSERT_FALSE(UsingDefaultTheme(GetProfile(0))); | |
84 ASSERT_FALSE(UsingDefaultTheme(verifier())); | |
85 | |
86 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion( | |
87 "Waiting for custom themes change.")); | |
88 | |
89 UseDefaultTheme(GetProfile(0)); | |
90 UseDefaultTheme(verifier()); | |
91 ASSERT_TRUE(UsingDefaultTheme(GetProfile(0))); | |
92 ASSERT_TRUE(UsingDefaultTheme(verifier())); | |
93 | |
94 ASSERT_TRUE(GetClient(0)->AwaitSyncCycleCompletion( | |
95 "Waiting for native themes change.")); | |
96 | |
97 ASSERT_TRUE(UsingDefaultTheme(GetProfile(0))); | |
98 ASSERT_TRUE(UsingDefaultTheme(verifier())); | |
99 } | |
OLD | NEW |