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

Side by Side Diff: ui/gfx/render_text_unittest.cc

Issue 8747001: Reintroduce password support to NativeTextfieldViews (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rerebase Created 9 years 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
« no previous file with comments | « ui/gfx/render_text_linux.cc ('k') | ui/views/controls/textfield/native_textfield_views.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
OLDNEW
« no previous file with comments | « ui/gfx/render_text_linux.cc ('k') | ui/views/controls/textfield/native_textfield_views.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698