| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "base/auto_reset.h" |
| 5 #include "base/message_loop.h" | 6 #include "base/message_loop.h" |
| 6 #include "base/scoped_ptr.h" | 7 #include "base/scoped_ptr.h" |
| 7 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 9 #include "ui/base/clipboard/clipboard.h" | 10 #include "ui/base/clipboard/clipboard.h" |
| 10 #include "ui/base/clipboard/scoped_clipboard_writer.h" | 11 #include "ui/base/clipboard/scoped_clipboard_writer.h" |
| 11 #include "views/controls/textfield/textfield_views_model.h" | 12 #include "views/controls/textfield/textfield_views_model.h" |
| 12 #include "views/test/test_views_delegate.h" | 13 #include "views/test/test_views_delegate.h" |
| 13 #include "views/views_delegate.h" | 14 #include "views/views_delegate.h" |
| 14 | 15 |
| (...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 EXPECT_EQ(7U, model.cursor_pos()); | 283 EXPECT_EQ(7U, model.cursor_pos()); |
| 283 | 284 |
| 284 model.SetText(ASCIIToUTF16("BYE")); | 285 model.SetText(ASCIIToUTF16("BYE")); |
| 285 EXPECT_EQ(3U, model.cursor_pos()); | 286 EXPECT_EQ(3U, model.cursor_pos()); |
| 286 EXPECT_EQ(string16(), model.GetSelectedText()); | 287 EXPECT_EQ(string16(), model.GetSelectedText()); |
| 287 model.SetText(ASCIIToUTF16("")); | 288 model.SetText(ASCIIToUTF16("")); |
| 288 EXPECT_EQ(0U, model.cursor_pos()); | 289 EXPECT_EQ(0U, model.cursor_pos()); |
| 289 } | 290 } |
| 290 | 291 |
| 291 TEST(TextfieldViewsModelTest, Clipboard) { | 292 TEST(TextfieldViewsModelTest, Clipboard) { |
| 292 views::ViewsDelegate::views_delegate = new TestViewsDelegate(); | 293 scoped_ptr<TestViewsDelegate> test_views_delegate(new TestViewsDelegate()); |
| 294 AutoReset<views::ViewsDelegate*> auto_reset( |
| 295 &views::ViewsDelegate::views_delegate, test_views_delegate.get()); |
| 293 ui::Clipboard* clipboard | 296 ui::Clipboard* clipboard |
| 294 = views::ViewsDelegate::views_delegate->GetClipboard(); | 297 = views::ViewsDelegate::views_delegate->GetClipboard(); |
| 295 string16 initial_clipboard_text; | 298 string16 initial_clipboard_text; |
| 296 clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &initial_clipboard_text); | 299 clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &initial_clipboard_text); |
| 297 string16 clipboard_text; | 300 string16 clipboard_text; |
| 298 TextfieldViewsModel model; | 301 TextfieldViewsModel model; |
| 299 model.Append(ASCIIToUTF16("HELLO WORLD")); | 302 model.Append(ASCIIToUTF16("HELLO WORLD")); |
| 300 model.MoveCursorToEnd(false); | 303 model.MoveCursorToEnd(false); |
| 301 | 304 |
| 302 // Test for cut: Empty selection. | 305 // Test for cut: Empty selection. |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 335 model.MoveCursorToEnd(false); | 338 model.MoveCursorToEnd(false); |
| 336 model.MoveCursorToPreviousWord(true); | 339 model.MoveCursorToPreviousWord(true); |
| 337 EXPECT_TRUE(model.Paste()); | 340 EXPECT_TRUE(model.Paste()); |
| 338 clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &clipboard_text); | 341 clipboard->ReadText(ui::Clipboard::BUFFER_STANDARD, &clipboard_text); |
| 339 EXPECT_STR_EQ("HELLO HELLO WORLD", clipboard_text); | 342 EXPECT_STR_EQ("HELLO HELLO WORLD", clipboard_text); |
| 340 EXPECT_STR_EQ("HELLO HELLO HELLO HELLO WORLD", model.text()); | 343 EXPECT_STR_EQ("HELLO HELLO HELLO HELLO WORLD", model.text()); |
| 341 EXPECT_EQ(29U, model.cursor_pos()); | 344 EXPECT_EQ(29U, model.cursor_pos()); |
| 342 } | 345 } |
| 343 | 346 |
| 344 } // namespace views | 347 } // namespace views |
| OLD | NEW |