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.
5 #include "base/basictypes.h"
6 #include "chrome/browser/sync/test/integration/profile_sync_service_harness.h"
7 #include "chrome/browser/sync/test/integration/sync_test.h"
8 #include "chrome/browser/sync/test/integration/themes_helper.h"
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
;
19 class SingleClientThemesSyncTest
: public SyncTest
{
21 SingleClientThemesSyncTest() : SyncTest(SINGLE_CLIENT
) {}
22 virtual ~SingleClientThemesSyncTest() {}
25 DISALLOW_COPY_AND_ASSIGN(SingleClientThemesSyncTest
);
28 // TODO(akalin): Add tests for model association (i.e., tests that
29 // start with SetupClients(), change the theme state, then call
32 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest
, CustomTheme
) {
33 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
35 ASSERT_FALSE(UsingCustomTheme(GetProfile(0)));
36 ASSERT_FALSE(UsingCustomTheme(verifier()));
38 UseCustomTheme(GetProfile(0), 0);
39 UseCustomTheme(verifier(), 0);
40 ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0)));
41 ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier()));
43 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion());
45 ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0)));
46 ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier()));
49 // TODO(sync): Fails on Chrome OS. See http://crbug.com/84575.
50 #if defined(OS_CHROMEOS)
51 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest
, DISABLED_NativeTheme
) {
53 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest
, NativeTheme
) {
55 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
57 UseCustomTheme(GetProfile(0), 0);
58 UseCustomTheme(verifier(), 0);
59 ASSERT_FALSE(UsingNativeTheme(GetProfile(0)));
60 ASSERT_FALSE(UsingNativeTheme(verifier()));
62 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion());
64 UseNativeTheme(GetProfile(0));
65 UseNativeTheme(verifier());
66 ASSERT_TRUE(UsingNativeTheme(GetProfile(0)));
67 ASSERT_TRUE(UsingNativeTheme(verifier()));
69 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion());
71 ASSERT_TRUE(UsingNativeTheme(GetProfile(0)));
72 ASSERT_TRUE(UsingNativeTheme(verifier()));
75 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest
, DefaultTheme
) {
76 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
78 UseCustomTheme(GetProfile(0), 0);
79 UseCustomTheme(verifier(), 0);
80 ASSERT_FALSE(UsingDefaultTheme(GetProfile(0)));
81 ASSERT_FALSE(UsingDefaultTheme(verifier()));
83 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion());
85 UseDefaultTheme(GetProfile(0));
86 UseDefaultTheme(verifier());
87 ASSERT_TRUE(UsingDefaultTheme(GetProfile(0)));
88 ASSERT_TRUE(UsingDefaultTheme(verifier()));
90 ASSERT_TRUE(GetClient(0)->AwaitFullSyncCompletion());
92 ASSERT_TRUE(UsingDefaultTheme(GetProfile(0)));
93 ASSERT_TRUE(UsingDefaultTheme(verifier()));