| 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 d55bfcb4040042a1e34a7fb3b83d15ac1da5ba98..14c69064e3401bd9d7ba8731e2a82c556892a4ef 100644
|
| --- a/ui/views/controls/textfield/textfield_views_model_unittest.cc
|
| +++ b/ui/views/controls/textfield/textfield_views_model_unittest.cc
|
| @@ -500,31 +500,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();
|
| @@ -542,6 +561,14 @@ 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).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,
|
|
|