| 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..7e99a9185666777fecfeac2f87596f759e1914ed 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/controls/textfield/textfield_model.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 kMiscActions =
|
| - @[ @"insertText:", @"cancelOperation:", @"transpose:" ];
|
| + @[ @"insertText:", @"cancelOperation:", @"transpose:", @"yank:" ];
|
|
|
| // Empty range shortcut for readibility.
|
| NSRange EmptyRange() {
|
| @@ -449,6 +450,9 @@ void InstallTextField(const base::string16& text,
|
| }
|
|
|
| void BridgedNativeWidgetTest::TearDown() {
|
| + // Clear kill buffer so that no state persists between tests.
|
| + TextfieldModel::ClearKillBuffer();
|
| +
|
| if (bridge())
|
| bridge()->SetRootView(nullptr);
|
| view_.reset();
|
| @@ -483,6 +487,12 @@ void InstallTextField(const base::string16& text,
|
| 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 +521,12 @@ void InstallTextField(const base::string16& text,
|
| 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 +913,12 @@ void PerformInit() {
|
| 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 +944,12 @@ void PerformInit() {
|
| 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 +979,12 @@ void PerformInit() {
|
| 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 +1016,12 @@ void PerformInit() {
|
| 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.
|
|
|