Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / sync / test / integration / single_client_themes_sync_test.cc
blobd770259b3c299b53a755b050ca29cd58b4e6c035
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/profile_sync_service.h"
7 #include "chrome/browser/sync/test/integration/sync_integration_test_util.h"
8 #include "chrome/browser/sync/test/integration/sync_test.h"
9 #include "chrome/browser/sync/test/integration/themes_helper.h"
11 using sync_integration_test_util::AwaitCommitActivityCompletion;
12 using themes_helper::GetCustomTheme;
13 using themes_helper::GetThemeID;
14 using themes_helper::UseCustomTheme;
15 using themes_helper::UseDefaultTheme;
16 using themes_helper::UseSystemTheme;
17 using themes_helper::UsingCustomTheme;
18 using themes_helper::UsingDefaultTheme;
19 using themes_helper::UsingSystemTheme;
21 class SingleClientThemesSyncTest : public SyncTest {
22 public:
23 SingleClientThemesSyncTest() : SyncTest(SINGLE_CLIENT) {}
24 ~SingleClientThemesSyncTest() override {}
26 private:
27 DISALLOW_COPY_AND_ASSIGN(SingleClientThemesSyncTest);
30 // TODO(akalin): Add tests for model association (i.e., tests that
31 // start with SetupClients(), change the theme state, then call
32 // SetupSync()).
34 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest, CustomTheme) {
35 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
37 ASSERT_FALSE(UsingCustomTheme(GetProfile(0)));
38 ASSERT_FALSE(UsingCustomTheme(verifier()));
40 UseCustomTheme(GetProfile(0), 0);
41 UseCustomTheme(verifier(), 0);
42 ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0)));
43 ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier()));
45 ASSERT_TRUE(AwaitCommitActivityCompletion(GetSyncService((0))));
47 ASSERT_EQ(GetCustomTheme(0), GetThemeID(GetProfile(0)));
48 ASSERT_EQ(GetCustomTheme(0), GetThemeID(verifier()));
51 // TODO(sync): Fails on Chrome OS. See http://crbug.com/84575.
52 #if defined(OS_CHROMEOS)
53 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest, DISABLED_NativeTheme) {
54 #else
55 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest, NativeTheme) {
56 #endif // OS_CHROMEOS
57 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
59 UseCustomTheme(GetProfile(0), 0);
60 UseCustomTheme(verifier(), 0);
61 ASSERT_FALSE(UsingSystemTheme(GetProfile(0)));
62 ASSERT_FALSE(UsingSystemTheme(verifier()));
64 ASSERT_TRUE(AwaitCommitActivityCompletion(GetSyncService((0))));
66 UseSystemTheme(GetProfile(0));
67 UseSystemTheme(verifier());
68 ASSERT_TRUE(UsingSystemTheme(GetProfile(0)));
69 ASSERT_TRUE(UsingSystemTheme(verifier()));
71 ASSERT_TRUE(AwaitCommitActivityCompletion(GetSyncService((0))));
73 ASSERT_TRUE(UsingSystemTheme(GetProfile(0)));
74 ASSERT_TRUE(UsingSystemTheme(verifier()));
77 IN_PROC_BROWSER_TEST_F(SingleClientThemesSyncTest, DefaultTheme) {
78 ASSERT_TRUE(SetupSync()) << "SetupSync() failed.";
80 UseCustomTheme(GetProfile(0), 0);
81 UseCustomTheme(verifier(), 0);
82 ASSERT_FALSE(UsingDefaultTheme(GetProfile(0)));
83 ASSERT_FALSE(UsingDefaultTheme(verifier()));
85 ASSERT_TRUE(AwaitCommitActivityCompletion(GetSyncService((0))));
87 UseDefaultTheme(GetProfile(0));
88 UseDefaultTheme(verifier());
89 ASSERT_TRUE(UsingDefaultTheme(GetProfile(0)));
90 ASSERT_TRUE(UsingDefaultTheme(verifier()));
92 ASSERT_TRUE(AwaitCommitActivityCompletion(GetSyncService((0))));
94 ASSERT_TRUE(UsingDefaultTheme(GetProfile(0)));
95 ASSERT_TRUE(UsingDefaultTheme(verifier()));