Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(104)

Unified Diff: ui/views/cocoa/bridged_native_widget_unittest.mm

Issue 2119813002: views::Textfield: Implement yank editing command. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review comments. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698