OLD | NEW |
---|---|
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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 "ui/gfx/render_text.h" | 5 #include "ui/gfx/render_text.h" |
6 | 6 |
7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
(...skipping 11 matching lines...) Expand all Loading... | |
22 // Test that the built-in default style is applied for new text. | 22 // Test that the built-in default style is applied for new text. |
23 render_text->SetText(ASCIIToUTF16("abc")); | 23 render_text->SetText(ASCIIToUTF16("abc")); |
24 EXPECT_EQ(1U, render_text->style_ranges().size()); | 24 EXPECT_EQ(1U, render_text->style_ranges().size()); |
25 StyleRange style; | 25 StyleRange style; |
26 EXPECT_EQ(style.font.GetFontName(), | 26 EXPECT_EQ(style.font.GetFontName(), |
27 render_text->style_ranges()[0].font.GetFontName()); | 27 render_text->style_ranges()[0].font.GetFontName()); |
28 EXPECT_EQ(style.foreground, render_text->style_ranges()[0].foreground); | 28 EXPECT_EQ(style.foreground, render_text->style_ranges()[0].foreground); |
29 EXPECT_EQ(ui::Range(0, 3), render_text->style_ranges()[0].range); | 29 EXPECT_EQ(ui::Range(0, 3), render_text->style_ranges()[0].range); |
30 EXPECT_EQ(style.strike, render_text->style_ranges()[0].strike); | 30 EXPECT_EQ(style.strike, render_text->style_ranges()[0].strike); |
31 EXPECT_EQ(style.underline, render_text->style_ranges()[0].underline); | 31 EXPECT_EQ(style.underline, render_text->style_ranges()[0].underline); |
32 EXPECT_EQ(style.password, render_text->style_ranges()[0].password); | |
32 | 33 |
33 // Test that clearing the text also clears the styles. | 34 // Test that clearing the text also clears the styles. |
34 render_text->SetText(string16()); | 35 render_text->SetText(string16()); |
35 EXPECT_TRUE(render_text->text().empty()); | 36 EXPECT_TRUE(render_text->text().empty()); |
36 EXPECT_TRUE(render_text->style_ranges().empty()); | 37 EXPECT_TRUE(render_text->style_ranges().empty()); |
37 } | 38 } |
38 | 39 |
39 TEST_F(RenderTextTest, CustomDefaultStyle) { | 40 TEST_F(RenderTextTest, CustomDefaultStyle) { |
40 // Test a custom default style. | 41 // Test a custom default style. |
41 scoped_ptr<RenderText> render_text(RenderText::CreateRenderText()); | 42 scoped_ptr<RenderText> render_text(RenderText::CreateRenderText()); |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
133 EXPECT_EQ(ui::Range(0, 5), render_text->style_ranges()[0].range); | 134 EXPECT_EQ(ui::Range(0, 5), render_text->style_ranges()[0].range); |
134 EXPECT_TRUE(render_text->style_ranges()[0].underline); | 135 EXPECT_TRUE(render_text->style_ranges()[0].underline); |
135 EXPECT_TRUE(render_text->style_ranges()[0].strike); | 136 EXPECT_TRUE(render_text->style_ranges()[0].strike); |
136 | 137 |
137 // Apply the default style. | 138 // Apply the default style. |
138 render_text->ApplyDefaultStyle(); | 139 render_text->ApplyDefaultStyle(); |
139 EXPECT_EQ(1U, render_text->style_ranges().size()); | 140 EXPECT_EQ(1U, render_text->style_ranges().size()); |
140 EXPECT_EQ(ui::Range(0, 5), render_text->style_ranges()[0].range); | 141 EXPECT_EQ(ui::Range(0, 5), render_text->style_ranges()[0].range); |
141 EXPECT_FALSE(render_text->style_ranges()[0].underline); | 142 EXPECT_FALSE(render_text->style_ranges()[0].underline); |
142 EXPECT_FALSE(render_text->style_ranges()[0].strike); | 143 EXPECT_FALSE(render_text->style_ranges()[0].strike); |
144 EXPECT_FALSE(render_text->style_ranges()[0].password); | |
143 | 145 |
144 // Apply new style range that contains the 2nd last old style range. | 146 // Apply new style range that contains the 2nd last old style range. |
145 render_text->SetText(ASCIIToUTF16("abcdefghi")); | 147 render_text->SetText(ASCIIToUTF16("abcdefghi")); |
146 underline.range = ui::Range(0, 3); | 148 underline.range = ui::Range(0, 3); |
147 render_text->ApplyStyleRange(underline); | 149 render_text->ApplyStyleRange(underline); |
148 color.range = ui::Range(3, 6); | 150 color.range = ui::Range(3, 6); |
149 render_text->ApplyStyleRange(color); | 151 render_text->ApplyStyleRange(color); |
150 strike.range = ui::Range(6, 9); | 152 strike.range = ui::Range(6, 9); |
151 render_text->ApplyStyleRange(strike); | 153 render_text->ApplyStyleRange(strike); |
152 EXPECT_EQ(3U, render_text->style_ranges().size()); | 154 EXPECT_EQ(3U, render_text->style_ranges().size()); |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
271 EXPECT_EQ(ui::Range(0, 3), render_text->style_ranges()[0].range); | 273 EXPECT_EQ(ui::Range(0, 3), render_text->style_ranges()[0].range); |
272 | 274 |
273 SetTextWith2ExtraStyles(render_text.get()); | 275 SetTextWith2ExtraStyles(render_text.get()); |
274 EXPECT_EQ(3U, render_text->style_ranges().size()); | 276 EXPECT_EQ(3U, render_text->style_ranges().size()); |
275 | 277 |
276 render_text->SetText(ASCIIToUTF16("a")); | 278 render_text->SetText(ASCIIToUTF16("a")); |
277 EXPECT_EQ(1U, render_text->style_ranges().size()); | 279 EXPECT_EQ(1U, render_text->style_ranges().size()); |
278 EXPECT_EQ(ui::Range(0, 1), render_text->style_ranges()[0].range); | 280 EXPECT_EQ(ui::Range(0, 1), render_text->style_ranges()[0].range); |
279 } | 281 } |
280 | 282 |
283 TEST_F(RenderTextTest, PasswordCensorship) { | |
284 // Obscured text from GetCensoredText() should match the style range. | |
285 const string16 seuss = ASCIIToUTF16("hop on pop"); | |
286 scoped_ptr<RenderText> render_text(RenderText::CreateRenderText()); | |
287 | |
288 StyleRange pw; | |
289 pw.password = true; | |
290 pw.range = ui::Range(2, 8); | |
291 | |
292 render_text->SetText(seuss); | |
293 render_text->ApplyStyleRange(pw); | |
294 EXPECT_EQ(render_text->text(), seuss); | |
295 EXPECT_EQ(render_text->GetCensoredText(), ASCIIToUTF16("ho******op")); | |
oshima
2011/12/01 21:36:47
EXPECT_EQ(<expected>, <actual>)
benrg
2011/12/01 22:36:15
Done.
| |
296 | |
297 render_text->SetText(seuss); | |
298 EXPECT_EQ(render_text->text(), seuss); | |
299 EXPECT_EQ(render_text->GetCensoredText(), ASCIIToUTF16("ho******op")); | |
300 | |
301 StyleRange nopw; | |
302 nopw.range = ui::Range(1, 7); | |
303 | |
304 render_text->ApplyStyleRange(nopw); | |
305 EXPECT_EQ(render_text->GetCensoredText(), ASCIIToUTF16("hop on *op")); | |
306 } | |
307 | |
281 void RunMoveCursorLeftRightTest(RenderText* render_text, | 308 void RunMoveCursorLeftRightTest(RenderText* render_text, |
282 const std::vector<SelectionModel>& expected, | 309 const std::vector<SelectionModel>& expected, |
283 bool move_right) { | 310 bool move_right) { |
284 for (int i = 0; i < static_cast<int>(expected.size()); ++i) { | 311 for (int i = 0; i < static_cast<int>(expected.size()); ++i) { |
285 SelectionModel sel = expected[i]; | 312 SelectionModel sel = expected[i]; |
286 EXPECT_TRUE(render_text->selection_model().Equals(sel)); | 313 EXPECT_TRUE(render_text->selection_model().Equals(sel)); |
287 if (move_right) | 314 if (move_right) |
288 render_text->MoveCursorRight(CHARACTER_BREAK, false); | 315 render_text->MoveCursorRight(CHARACTER_BREAK, false); |
289 else | 316 else |
290 render_text->MoveCursorLeft(CHARACTER_BREAK, false); | 317 render_text->MoveCursorLeft(CHARACTER_BREAK, false); |
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
746 EXPECT_EQ(5U, render_text->GetCursorPosition()); | 773 EXPECT_EQ(5U, render_text->GetCursorPosition()); |
747 render_text->MoveCursorRight(WORD_BREAK, false); | 774 render_text->MoveCursorRight(WORD_BREAK, false); |
748 EXPECT_EQ(6U, render_text->GetCursorPosition()); | 775 EXPECT_EQ(6U, render_text->GetCursorPosition()); |
749 render_text->MoveCursorRight(WORD_BREAK, false); | 776 render_text->MoveCursorRight(WORD_BREAK, false); |
750 EXPECT_EQ(6U, render_text->GetCursorPosition()); | 777 EXPECT_EQ(6U, render_text->GetCursorPosition()); |
751 } | 778 } |
752 | 779 |
753 #endif | 780 #endif |
754 | 781 |
755 } // namespace gfx | 782 } // namespace gfx |
OLD | NEW |