| Index: ui/views/controls/textfield/textfield_views_model_unittest.cc
|
| diff --git a/ui/views/controls/textfield/textfield_views_model_unittest.cc b/ui/views/controls/textfield/textfield_views_model_unittest.cc
|
| index fa4706179268a63d87f4ff4fe5c18272bf0aa272..8c56b928e31b71845d06d07f31b126072df40863 100644
|
| --- a/ui/views/controls/textfield/textfield_views_model_unittest.cc
|
| +++ b/ui/views/controls/textfield/textfield_views_model_unittest.cc
|
| @@ -502,31 +502,50 @@ TEST_F(TextfieldViewsModelTest, MAYBE_Clipboard) {
|
| string16 clipboard_text;
|
| TextfieldViewsModel model(NULL);
|
| model.Append(ASCIIToUTF16("HELLO WORLD"));
|
| - model.MoveCursor(gfx::LINE_BREAK, gfx::CURSOR_RIGHT, false);
|
|
|
| - // Test for cut: Empty selection.
|
| + // Cut with an empty selection should do nothing.
|
| + model.MoveCursor(gfx::LINE_BREAK, gfx::CURSOR_RIGHT, false);
|
| EXPECT_FALSE(model.Cut());
|
| clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &clipboard_text);
|
| - EXPECT_STR_EQ(UTF16ToUTF8(initial_clipboard_text), clipboard_text);
|
| + EXPECT_EQ(initial_clipboard_text, clipboard_text);
|
| EXPECT_STR_EQ("HELLO WORLD", model.GetText());
|
| EXPECT_EQ(11U, model.GetCursorPosition());
|
|
|
| - // Test for cut: Non-empty selection.
|
| - model.MoveCursor(gfx::WORD_BREAK, gfx::CURSOR_LEFT, true);
|
| - EXPECT_TRUE(model.Cut());
|
| + // Copy with an empty selection should do nothing.
|
| + model.Copy();
|
| clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &clipboard_text);
|
| - EXPECT_STR_EQ("WORLD", clipboard_text);
|
| - EXPECT_STR_EQ("HELLO ", model.GetText());
|
| - EXPECT_EQ(6U, model.GetCursorPosition());
|
| + EXPECT_EQ(initial_clipboard_text, clipboard_text);
|
| + EXPECT_STR_EQ("HELLO WORLD", model.GetText());
|
| + EXPECT_EQ(11U, model.GetCursorPosition());
|
|
|
| - // Test for copy: Empty selection.
|
| - model.Copy();
|
| + // Cut on obscured (password) text should do nothing.
|
| + model.render_text()->SetObscured(true);
|
| + model.SelectAll();
|
| + EXPECT_FALSE(model.Cut());
|
| + clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &clipboard_text);
|
| + EXPECT_EQ(initial_clipboard_text, clipboard_text);
|
| + EXPECT_STR_EQ("HELLO WORLD", model.GetText());
|
| + EXPECT_STR_EQ("HELLO WORLD", model.GetSelectedText());
|
| +
|
| + // Copy on obscured text should do nothing.
|
| + model.SelectAll();
|
| + EXPECT_FALSE(model.Copy());
|
| + clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &clipboard_text);
|
| + EXPECT_EQ(initial_clipboard_text, clipboard_text);
|
| + EXPECT_STR_EQ("HELLO WORLD", model.GetText());
|
| + EXPECT_STR_EQ("HELLO WORLD", model.GetSelectedText());
|
| +
|
| + // Cut with non-empty selection.
|
| + model.render_text()->SetObscured(false);
|
| + model.MoveCursor(gfx::LINE_BREAK, gfx::CURSOR_RIGHT, false);
|
| + model.MoveCursor(gfx::WORD_BREAK, gfx::CURSOR_LEFT, true);
|
| + EXPECT_TRUE(model.Cut());
|
| clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &clipboard_text);
|
| EXPECT_STR_EQ("WORLD", clipboard_text);
|
| EXPECT_STR_EQ("HELLO ", model.GetText());
|
| EXPECT_EQ(6U, model.GetCursorPosition());
|
|
|
| - // Test for copy: Non-empty selection.
|
| + // Copy with non-empty selection.
|
| model.Append(ASCIIToUTF16("HELLO WORLD"));
|
| model.SelectAll();
|
| model.Copy();
|
| @@ -544,6 +563,16 @@ TEST_F(TextfieldViewsModelTest, MAYBE_Clipboard) {
|
| EXPECT_STR_EQ("HELLO HELLO WORLD", clipboard_text);
|
| EXPECT_STR_EQ("HELLO HELLO HELLO HELLO WORLD", model.GetText());
|
| EXPECT_EQ(29U, model.GetCursorPosition());
|
| +
|
| + // Paste ignores the obscured bit.
|
| + model.render_text()->SetObscured(true);
|
| + model.MoveCursor(gfx::WORD_BREAK, gfx::CURSOR_LEFT, true);
|
| + ui::ScopedClipboardWriter(
|
| + clipboard,
|
| + ui::Clipboard::BUFFER_STANDARD).WriteText(initial_clipboard_text);
|
| + EXPECT_TRUE(model.Paste());
|
| + clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &clipboard_text);
|
| + EXPECT_STR_EQ("HELLO HELLO HELLO HELLO initial text", model.GetText());
|
| }
|
|
|
| static void SelectWordTestVerifier(const TextfieldViewsModel& model,
|
|
|