Chromium Code Reviews| 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 |