| Index: ui/views/cocoa/bridged_native_widget_unittest.mm
|
| diff --git a/ui/views/cocoa/bridged_native_widget_unittest.mm b/ui/views/cocoa/bridged_native_widget_unittest.mm
|
| index 4554eee36a5155c614f9e5d7cec497da7f4d048a..eb0154bdfea2f4bbc705a0ab3758763c4d09e171 100644
|
| --- a/ui/views/cocoa/bridged_native_widget_unittest.mm
|
| +++ b/ui/views/cocoa/bridged_native_widget_unittest.mm
|
| @@ -25,6 +25,7 @@
|
| #import "ui/views/cocoa/native_widget_mac_nswindow.h"
|
| #import "ui/views/cocoa/views_nswindow_delegate.h"
|
| #include "ui/views/controls/textfield/textfield.h"
|
| +#include "ui/views/test/test_views_delegate.h"
|
| #include "ui/views/view.h"
|
| #include "ui/views/widget/native_widget_mac.h"
|
| #include "ui/views/widget/root_view.h"
|
| @@ -113,7 +114,7 @@ NSArray* const kDeleteActions = @[
|
| ];
|
|
|
| NSArray* const kMiscActions =
|
| - @[ @"insertText:", @"cancelOperation:", @"transpose:" ];
|
| + @[ @"insertText:", @"cancelOperation:", @"transpose:", @"yank:" ];
|
|
|
| // Empty range shortcut for readibility.
|
| NSRange EmptyRange() {
|
| @@ -259,6 +260,7 @@ class BridgedNativeWidgetTestBase : public ui::CocoaTest {
|
| protected:
|
| std::unique_ptr<Widget> widget_;
|
| MockNativeWidgetMac* native_widget_mac_; // Weak. Owned by |widget_|.
|
| + TestViewsDelegate test_views_delegate_;
|
|
|
| // Make the InitParams available to tests to cover initialization codepaths.
|
| Widget::InitParams init_params_;
|
| @@ -483,6 +485,12 @@ void BridgedNativeWidgetTest::TestDeleteBeginning(SEL sel) {
|
| EXPECT_NSEQ_3(@" bar ", GetExpectedText(), GetActualText());
|
| EXPECT_EQ_RANGE_3(NSMakeRange(5, 0), GetExpectedSelectionRange(),
|
| GetActualSelectionRange());
|
| +
|
| + // Verify yanking inserts the deleted text.
|
| + PerformCommand(@selector(yank:));
|
| + EXPECT_NSEQ_3(@" bar baz", GetExpectedText(), GetActualText());
|
| + EXPECT_EQ_RANGE_3(NSMakeRange(8, 0), GetExpectedSelectionRange(),
|
| + GetActualSelectionRange());
|
| }
|
|
|
| void BridgedNativeWidgetTest::TestDeleteEnd(SEL sel) {
|
| @@ -511,6 +519,12 @@ void BridgedNativeWidgetTest::TestDeleteEnd(SEL sel) {
|
| EXPECT_NSEQ_3(@"bar", GetExpectedText(), GetActualText());
|
| EXPECT_EQ_RANGE_3(NSMakeRange(0, 0), GetExpectedSelectionRange(),
|
| GetActualSelectionRange());
|
| +
|
| + // Verify yanking inserts the deleted text.
|
| + PerformCommand(@selector(yank:));
|
| + EXPECT_NSEQ_3(@"foo bar", GetExpectedText(), GetActualText());
|
| + EXPECT_EQ_RANGE_3(NSMakeRange(4, 0), GetExpectedSelectionRange(),
|
| + GetActualSelectionRange());
|
| }
|
|
|
| void BridgedNativeWidgetTest::TestEditingCommands(NSArray* selectors) {
|
| @@ -897,6 +911,12 @@ TEST_F(BridgedNativeWidgetTest, TextInput_DeleteBackward) {
|
| EXPECT_EQ_RANGE_3(NSMakeRange(0, 0), GetExpectedSelectionRange(),
|
| GetActualSelectionRange());
|
|
|
| + // Verify that deletion did not modify the kill buffer.
|
| + PerformCommand(@selector(yank:));
|
| + EXPECT_NSEQ_3(nil, GetExpectedText(), GetActualText());
|
| + EXPECT_EQ_RANGE_3(NSMakeRange(0, 0), GetExpectedSelectionRange(),
|
| + GetActualSelectionRange());
|
| +
|
| // Try to delete again on an empty string.
|
| PerformCommand(@selector(deleteBackward:));
|
| EXPECT_NSEQ_3(nil, GetExpectedText(), GetActualText());
|
| @@ -922,6 +942,12 @@ TEST_F(BridgedNativeWidgetTest, TextInput_DeleteForward) {
|
| EXPECT_NSEQ_3(nil, GetExpectedText(), GetActualText());
|
| EXPECT_EQ_RANGE_3(NSMakeRange(0, 0), GetExpectedSelectionRange(),
|
| GetActualSelectionRange());
|
| +
|
| + // Verify that deletion did not modify the kill buffer.
|
| + PerformCommand(@selector(yank:));
|
| + EXPECT_NSEQ_3(nil, GetExpectedText(), GetActualText());
|
| + EXPECT_EQ_RANGE_3(NSMakeRange(0, 0), GetExpectedSelectionRange(),
|
| + GetActualSelectionRange());
|
| }
|
|
|
| // Test forward word deletion using text input protocol.
|
| @@ -951,6 +977,12 @@ TEST_F(BridgedNativeWidgetTest, TextInput_DeleteWordForward) {
|
| EXPECT_NSEQ_3(@"o b baz", GetExpectedText(), GetActualText());
|
| EXPECT_EQ_RANGE_3(NSMakeRange(0, 0), GetExpectedSelectionRange(),
|
| GetActualSelectionRange());
|
| +
|
| + // Verify that deletion did not modify the kill buffer.
|
| + PerformCommand(@selector(yank:));
|
| + EXPECT_NSEQ_3(@"o b baz", GetExpectedText(), GetActualText());
|
| + EXPECT_EQ_RANGE_3(NSMakeRange(0, 0), GetExpectedSelectionRange(),
|
| + GetActualSelectionRange());
|
| }
|
|
|
| // Test backward word deletion using text input protocol.
|
| @@ -982,6 +1014,12 @@ TEST_F(BridgedNativeWidgetTest, TextInput_DeleteWordBackward) {
|
| EXPECT_NSEQ_3(@"faz", GetExpectedText(), GetActualText());
|
| EXPECT_EQ_RANGE_3(NSMakeRange(1, 0), GetExpectedSelectionRange(),
|
| GetActualSelectionRange());
|
| +
|
| + // Verify that deletion did not modify the kill buffer.
|
| + PerformCommand(@selector(yank:));
|
| + EXPECT_NSEQ_3(@"faz", GetExpectedText(), GetActualText());
|
| + EXPECT_EQ_RANGE_3(NSMakeRange(1, 0), GetExpectedSelectionRange(),
|
| + GetActualSelectionRange());
|
| }
|
|
|
| // Test deleting to beginning/end of line/paragraph using text input protocol.
|
|
|