Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Side by Side Diff: components/dom_distiller/core/distilled_page_prefs_unittests.cc

Issue 430473007: Font Family Preferences for Distilled Pages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/dom_distiller/core/distilled_page_prefs.h" 5 #include "components/dom_distiller/core/distilled_page_prefs.h"
6 6
7 #include "base/message_loop/message_loop.h" 7 #include "base/message_loop/message_loop.h"
8 #include "base/run_loop.h" 8 #include "base/run_loop.h"
9 #include "components/pref_registry/testing_pref_service_syncable.h" 9 #include "components/pref_registry/testing_pref_service_syncable.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 namespace dom_distiller { 12 namespace dom_distiller {
13 13
14 namespace { 14 namespace {
15 15
16 class TestingObserver : public DistilledPagePrefs::Observer { 16 class TestingObserver : public DistilledPagePrefs::Observer {
17 public: 17 public:
18 TestingObserver() : theme_(DistilledPagePrefs::LIGHT) {} 18 TestingObserver()
19 : font_(DistilledPagePrefs::SANS_SERIF),
20 theme_(DistilledPagePrefs::LIGHT) {}
21
22 virtual void OnChangeFontFamily(
23 DistilledPagePrefs::FontFamily new_font) OVERRIDE {
24 font_ = new_font;
25 }
26 DistilledPagePrefs::FontFamily GetFontFamily() { return font_; }
robliao 2014/08/10 02:43:45 Linebreak above here.
sunangel 2014/08/11 21:51:33 Done.
19 27
20 virtual void OnChangeTheme(DistilledPagePrefs::Theme new_theme) OVERRIDE { 28 virtual void OnChangeTheme(DistilledPagePrefs::Theme new_theme) OVERRIDE {
21 theme_ = new_theme; 29 theme_ = new_theme;
22 } 30 }
23
24 DistilledPagePrefs::Theme GetTheme() { return theme_; } 31 DistilledPagePrefs::Theme GetTheme() { return theme_; }
25 32
26 private: 33 private:
34 DistilledPagePrefs::FontFamily font_;
27 DistilledPagePrefs::Theme theme_; 35 DistilledPagePrefs::Theme theme_;
28 }; 36 };
29 37
30 } // namespace 38 } // namespace
31 39
32 class DistilledPagePrefsTest : public testing::Test { 40 class DistilledPagePrefsTest : public testing::Test {
33 protected: 41 protected:
34 virtual void SetUp() OVERRIDE { 42 virtual void SetUp() OVERRIDE {
35 pref_service_.reset(new user_prefs::TestingPrefServiceSyncable()); 43 pref_service_.reset(new user_prefs::TestingPrefServiceSyncable());
36 DistilledPagePrefs::RegisterProfilePrefs(pref_service_->registry()); 44 DistilledPagePrefs::RegisterProfilePrefs(pref_service_->registry());
37 distilled_page_prefs_.reset(new DistilledPagePrefs(pref_service_.get())); 45 distilled_page_prefs_.reset(new DistilledPagePrefs(pref_service_.get()));
38 } 46 }
39 47
40 scoped_ptr<user_prefs::TestingPrefServiceSyncable> pref_service_; 48 scoped_ptr<user_prefs::TestingPrefServiceSyncable> pref_service_;
41 scoped_ptr<DistilledPagePrefs> distilled_page_prefs_; 49 scoped_ptr<DistilledPagePrefs> distilled_page_prefs_;
42 50
43 private: 51 private:
44 base::MessageLoop message_loop_; 52 base::MessageLoop message_loop_;
45 }; 53 };
46 54
55 TEST_F(DistilledPagePrefsTest, TestingOnChangeFontIsBeingCalled) {
56 TestingObserver obs;
57 distilled_page_prefs_->AddObserver(&obs);
58 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::MONOSPACE);
59 EXPECT_EQ(DistilledPagePrefs::SANS_SERIF, obs.GetFontFamily());
60 base::RunLoop().RunUntilIdle();
61 EXPECT_EQ(DistilledPagePrefs::MONOSPACE, obs.GetFontFamily());
62 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::SERIF);
63 base::RunLoop().RunUntilIdle();
64 EXPECT_EQ(DistilledPagePrefs::SERIF, obs.GetFontFamily());
65 distilled_page_prefs_->RemoveObserver(&obs);
66 }
67
68 TEST_F(DistilledPagePrefsTest, TestingMultipleObserversFont) {
69 TestingObserver obs;
70 distilled_page_prefs_->AddObserver(&obs);
71 TestingObserver obs2;
72 distilled_page_prefs_->AddObserver(&obs2);
73 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::SERIF);
74 base::RunLoop().RunUntilIdle();
75 EXPECT_EQ(DistilledPagePrefs::SERIF, obs.GetFontFamily());
76 EXPECT_EQ(DistilledPagePrefs::SERIF, obs2.GetFontFamily());
77 distilled_page_prefs_->RemoveObserver(&obs);
78 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::MONOSPACE);
79 base::RunLoop().RunUntilIdle();
80 EXPECT_EQ(DistilledPagePrefs::SERIF, obs.GetFontFamily());
81 EXPECT_EQ(DistilledPagePrefs::MONOSPACE, obs2.GetFontFamily());
82 distilled_page_prefs_->RemoveObserver(&obs2);
83 }
84
47 TEST_F(DistilledPagePrefsTest, TestingOnChangeThemeIsBeingCalled) { 85 TEST_F(DistilledPagePrefsTest, TestingOnChangeThemeIsBeingCalled) {
48 TestingObserver obs; 86 TestingObserver obs;
49 distilled_page_prefs_->AddObserver(&obs); 87 distilled_page_prefs_->AddObserver(&obs);
50 distilled_page_prefs_->SetTheme(DistilledPagePrefs::SEPIA); 88 distilled_page_prefs_->SetTheme(DistilledPagePrefs::SEPIA);
51 EXPECT_EQ(DistilledPagePrefs::LIGHT, obs.GetTheme()); 89 EXPECT_EQ(DistilledPagePrefs::LIGHT, obs.GetTheme());
52 base::RunLoop().RunUntilIdle(); 90 base::RunLoop().RunUntilIdle();
53 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme()); 91 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme());
54 distilled_page_prefs_->SetTheme(DistilledPagePrefs::DARK); 92 distilled_page_prefs_->SetTheme(DistilledPagePrefs::DARK);
55 base::RunLoop().RunUntilIdle(); 93 base::RunLoop().RunUntilIdle();
56 EXPECT_EQ(DistilledPagePrefs::DARK, obs.GetTheme()); 94 EXPECT_EQ(DistilledPagePrefs::DARK, obs.GetTheme());
57 distilled_page_prefs_->RemoveObserver(&obs); 95 distilled_page_prefs_->RemoveObserver(&obs);
58 } 96 }
59 97
60 TEST_F(DistilledPagePrefsTest, TestingMultipleObservers) { 98 TEST_F(DistilledPagePrefsTest, TestingMultipleObserversTheme) {
61 TestingObserver obs; 99 TestingObserver obs;
62 distilled_page_prefs_->AddObserver(&obs); 100 distilled_page_prefs_->AddObserver(&obs);
63 TestingObserver obs2; 101 TestingObserver obs2;
64 distilled_page_prefs_->AddObserver(&obs2); 102 distilled_page_prefs_->AddObserver(&obs2);
65 distilled_page_prefs_->SetTheme(DistilledPagePrefs::SEPIA); 103 distilled_page_prefs_->SetTheme(DistilledPagePrefs::SEPIA);
66 base::RunLoop().RunUntilIdle(); 104 base::RunLoop().RunUntilIdle();
67 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme()); 105 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme());
68 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs2.GetTheme()); 106 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs2.GetTheme());
69 distilled_page_prefs_->RemoveObserver(&obs); 107 distilled_page_prefs_->RemoveObserver(&obs);
70 distilled_page_prefs_->SetTheme(DistilledPagePrefs::LIGHT); 108 distilled_page_prefs_->SetTheme(DistilledPagePrefs::LIGHT);
71 base::RunLoop().RunUntilIdle(); 109 base::RunLoop().RunUntilIdle();
72 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme()); 110 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme());
73 EXPECT_EQ(DistilledPagePrefs::LIGHT, obs2.GetTheme()); 111 EXPECT_EQ(DistilledPagePrefs::LIGHT, obs2.GetTheme());
74 distilled_page_prefs_->RemoveObserver(&obs2); 112 distilled_page_prefs_->RemoveObserver(&obs2);
75 } 113 }
76 114
77 } // namespace dom_distiller 115 } // namespace dom_distiller
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698