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

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

Issue 1225183002: Font size in DomDistiller prefs syncs with local scaling (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge master again Created 5 years, 2 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
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() 18 TestingObserver()
19 : font_(DistilledPagePrefs::SANS_SERIF), 19 : font_(DistilledPagePrefs::SANS_SERIF),
20 theme_(DistilledPagePrefs::LIGHT) {} 20 theme_(DistilledPagePrefs::LIGHT),
21 scaling_(1.0f) {}
21 22
22 void OnChangeFontFamily(DistilledPagePrefs::FontFamily new_font) override { 23 void OnChangeFontFamily(DistilledPagePrefs::FontFamily new_font) override {
23 font_ = new_font; 24 font_ = new_font;
24 } 25 }
25 26
26 DistilledPagePrefs::FontFamily GetFontFamily() { return font_; } 27 DistilledPagePrefs::FontFamily GetFontFamily() { return font_; }
27 28
28 void OnChangeTheme(DistilledPagePrefs::Theme new_theme) override { 29 void OnChangeTheme(DistilledPagePrefs::Theme new_theme) override {
29 theme_ = new_theme; 30 theme_ = new_theme;
30 } 31 }
31 32
32 DistilledPagePrefs::Theme GetTheme() { return theme_; } 33 DistilledPagePrefs::Theme GetTheme() { return theme_; }
33 34
35 void OnChangeFontScaling(float new_scaling) override {
36 scaling_ = new_scaling;
37 }
38
39 float GetFontScaling() { return scaling_; }
40
34 private: 41 private:
35 DistilledPagePrefs::FontFamily font_; 42 DistilledPagePrefs::FontFamily font_;
36 DistilledPagePrefs::Theme theme_; 43 DistilledPagePrefs::Theme theme_;
44 float scaling_;
37 }; 45 };
38 46
39 } // namespace 47 } // namespace
40 48
41 class DistilledPagePrefsTest : public testing::Test { 49 class DistilledPagePrefsTest : public testing::Test {
42 protected: 50 protected:
43 void SetUp() override { 51 void SetUp() override {
44 pref_service_.reset(new user_prefs::TestingPrefServiceSyncable()); 52 pref_service_.reset(new user_prefs::TestingPrefServiceSyncable());
45 DistilledPagePrefs::RegisterProfilePrefs(pref_service_->registry()); 53 DistilledPagePrefs::RegisterProfilePrefs(pref_service_->registry());
46 distilled_page_prefs_.reset(new DistilledPagePrefs(pref_service_.get())); 54 distilled_page_prefs_.reset(new DistilledPagePrefs(pref_service_.get()));
47 } 55 }
48 56
49 scoped_ptr<user_prefs::TestingPrefServiceSyncable> pref_service_; 57 scoped_ptr<user_prefs::TestingPrefServiceSyncable> pref_service_;
50 scoped_ptr<DistilledPagePrefs> distilled_page_prefs_; 58 scoped_ptr<DistilledPagePrefs> distilled_page_prefs_;
51 59
52 private: 60 private:
53 base::MessageLoop message_loop_; 61 base::MessageLoop message_loop_;
54 }; 62 };
55 63
56 TEST_F(DistilledPagePrefsTest, TestingOnChangeFontIsBeingCalled) { 64 TEST_F(DistilledPagePrefsTest, TestingOnChangeFontIsBeingCalled) {
57 TestingObserver obs; 65 TestingObserver obs;
58 distilled_page_prefs_->AddObserver(&obs); 66 distilled_page_prefs_->AddObserver(&obs);
67
59 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::MONOSPACE); 68 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::MONOSPACE);
60 EXPECT_EQ(DistilledPagePrefs::SANS_SERIF, obs.GetFontFamily()); 69 EXPECT_EQ(DistilledPagePrefs::SANS_SERIF, obs.GetFontFamily());
61 base::RunLoop().RunUntilIdle(); 70 base::RunLoop().RunUntilIdle();
62 EXPECT_EQ(DistilledPagePrefs::MONOSPACE, obs.GetFontFamily()); 71 EXPECT_EQ(DistilledPagePrefs::MONOSPACE, obs.GetFontFamily());
72
63 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::SERIF); 73 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::SERIF);
64 base::RunLoop().RunUntilIdle(); 74 base::RunLoop().RunUntilIdle();
65 EXPECT_EQ(DistilledPagePrefs::SERIF, obs.GetFontFamily()); 75 EXPECT_EQ(DistilledPagePrefs::SERIF, obs.GetFontFamily());
66 distilled_page_prefs_->RemoveObserver(&obs); 76 distilled_page_prefs_->RemoveObserver(&obs);
67 } 77 }
68 78
69 TEST_F(DistilledPagePrefsTest, TestingMultipleObserversFont) { 79 TEST_F(DistilledPagePrefsTest, TestingMultipleObserversFont) {
70 TestingObserver obs; 80 TestingObserver obs;
71 distilled_page_prefs_->AddObserver(&obs); 81 distilled_page_prefs_->AddObserver(&obs);
72 TestingObserver obs2; 82 TestingObserver obs2;
73 distilled_page_prefs_->AddObserver(&obs2); 83 distilled_page_prefs_->AddObserver(&obs2);
84
74 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::SERIF); 85 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::SERIF);
75 base::RunLoop().RunUntilIdle(); 86 base::RunLoop().RunUntilIdle();
76 EXPECT_EQ(DistilledPagePrefs::SERIF, obs.GetFontFamily()); 87 EXPECT_EQ(DistilledPagePrefs::SERIF, obs.GetFontFamily());
77 EXPECT_EQ(DistilledPagePrefs::SERIF, obs2.GetFontFamily()); 88 EXPECT_EQ(DistilledPagePrefs::SERIF, obs2.GetFontFamily());
89
78 distilled_page_prefs_->RemoveObserver(&obs); 90 distilled_page_prefs_->RemoveObserver(&obs);
91
79 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::MONOSPACE); 92 distilled_page_prefs_->SetFontFamily(DistilledPagePrefs::MONOSPACE);
80 base::RunLoop().RunUntilIdle(); 93 base::RunLoop().RunUntilIdle();
81 EXPECT_EQ(DistilledPagePrefs::SERIF, obs.GetFontFamily()); 94 EXPECT_EQ(DistilledPagePrefs::SERIF, obs.GetFontFamily());
82 EXPECT_EQ(DistilledPagePrefs::MONOSPACE, obs2.GetFontFamily()); 95 EXPECT_EQ(DistilledPagePrefs::MONOSPACE, obs2.GetFontFamily());
96
83 distilled_page_prefs_->RemoveObserver(&obs2); 97 distilled_page_prefs_->RemoveObserver(&obs2);
84 } 98 }
85 99
86 TEST_F(DistilledPagePrefsTest, TestingOnChangeThemeIsBeingCalled) { 100 TEST_F(DistilledPagePrefsTest, TestingOnChangeThemeIsBeingCalled) {
87 TestingObserver obs; 101 TestingObserver obs;
88 distilled_page_prefs_->AddObserver(&obs); 102 distilled_page_prefs_->AddObserver(&obs);
103
89 distilled_page_prefs_->SetTheme(DistilledPagePrefs::SEPIA); 104 distilled_page_prefs_->SetTheme(DistilledPagePrefs::SEPIA);
90 EXPECT_EQ(DistilledPagePrefs::LIGHT, obs.GetTheme()); 105 EXPECT_EQ(DistilledPagePrefs::LIGHT, obs.GetTheme());
91 base::RunLoop().RunUntilIdle(); 106 base::RunLoop().RunUntilIdle();
92 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme()); 107 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme());
108
93 distilled_page_prefs_->SetTheme(DistilledPagePrefs::DARK); 109 distilled_page_prefs_->SetTheme(DistilledPagePrefs::DARK);
94 base::RunLoop().RunUntilIdle(); 110 base::RunLoop().RunUntilIdle();
95 EXPECT_EQ(DistilledPagePrefs::DARK, obs.GetTheme()); 111 EXPECT_EQ(DistilledPagePrefs::DARK, obs.GetTheme());
112
96 distilled_page_prefs_->RemoveObserver(&obs); 113 distilled_page_prefs_->RemoveObserver(&obs);
97 } 114 }
98 115
99 TEST_F(DistilledPagePrefsTest, TestingMultipleObserversTheme) { 116 TEST_F(DistilledPagePrefsTest, TestingMultipleObserversTheme) {
100 TestingObserver obs; 117 TestingObserver obs;
101 distilled_page_prefs_->AddObserver(&obs); 118 distilled_page_prefs_->AddObserver(&obs);
102 TestingObserver obs2; 119 TestingObserver obs2;
103 distilled_page_prefs_->AddObserver(&obs2); 120 distilled_page_prefs_->AddObserver(&obs2);
121
104 distilled_page_prefs_->SetTheme(DistilledPagePrefs::SEPIA); 122 distilled_page_prefs_->SetTheme(DistilledPagePrefs::SEPIA);
105 base::RunLoop().RunUntilIdle(); 123 base::RunLoop().RunUntilIdle();
106 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme()); 124 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme());
107 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs2.GetTheme()); 125 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs2.GetTheme());
126
108 distilled_page_prefs_->RemoveObserver(&obs); 127 distilled_page_prefs_->RemoveObserver(&obs);
128
109 distilled_page_prefs_->SetTheme(DistilledPagePrefs::LIGHT); 129 distilled_page_prefs_->SetTheme(DistilledPagePrefs::LIGHT);
110 base::RunLoop().RunUntilIdle(); 130 base::RunLoop().RunUntilIdle();
111 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme()); 131 EXPECT_EQ(DistilledPagePrefs::SEPIA, obs.GetTheme());
112 EXPECT_EQ(DistilledPagePrefs::LIGHT, obs2.GetTheme()); 132 EXPECT_EQ(DistilledPagePrefs::LIGHT, obs2.GetTheme());
133
113 distilled_page_prefs_->RemoveObserver(&obs2); 134 distilled_page_prefs_->RemoveObserver(&obs2);
114 } 135 }
115 136
137 TEST_F(DistilledPagePrefsTest, TestingOnChangeFontScalingIsBeingCalled) {
138 TestingObserver obs;
139 distilled_page_prefs_->AddObserver(&obs);
140
141 distilled_page_prefs_->SetFontScaling(1.5f);
142 ASSERT_FLOAT_EQ(1.0f, obs.GetFontScaling());
143 base::RunLoop().RunUntilIdle();
144 ASSERT_FLOAT_EQ(1.5f, obs.GetFontScaling());
145
146 distilled_page_prefs_->SetFontScaling(0.7f);
147 base::RunLoop().RunUntilIdle();
148 ASSERT_FLOAT_EQ(0.7f, obs.GetFontScaling());
149
150 distilled_page_prefs_->RemoveObserver(&obs);
151 }
152
153 TEST_F(DistilledPagePrefsTest, TestingMultipleObserversFontScaling) {
154 TestingObserver obs;
155 distilled_page_prefs_->AddObserver(&obs);
156 TestingObserver obs2;
157 distilled_page_prefs_->AddObserver(&obs2);
158
159 distilled_page_prefs_->SetFontScaling(1.3f);
160 base::RunLoop().RunUntilIdle();
161 ASSERT_FLOAT_EQ(1.3f, obs.GetFontScaling());
162 ASSERT_FLOAT_EQ(1.3f, obs2.GetFontScaling());
163
164 distilled_page_prefs_->RemoveObserver(&obs);
165
166 distilled_page_prefs_->SetFontScaling(0.9f);
167 base::RunLoop().RunUntilIdle();
168 ASSERT_FLOAT_EQ(1.3f, obs.GetFontScaling());
169 ASSERT_FLOAT_EQ(0.9f, obs2.GetFontScaling());
170
171 distilled_page_prefs_->RemoveObserver(&obs2);
172 }
173
116 } // namespace dom_distiller 174 } // namespace dom_distiller
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698