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

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: Created 4 years, 6 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..d7af6635eb5e8facc6ac53bb08ce11f190c199e9 100644
--- a/ui/views/cocoa/bridged_native_widget_unittest.mm
+++ b/ui/views/cocoa/bridged_native_widget_unittest.mm
@@ -113,7 +113,7 @@ NSArray* const kDeleteActions = @[
];
NSArray* const kMiscActions =
- @[ @"insertText:", @"cancelOperation:", @"transpose:" ];
+ @[ @"insertText:", @"cancelOperation:", @"transpose:", @"yank:" ];
// Empty range shortcut for readibility.
NSRange EmptyRange() {
@@ -483,6 +483,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 +517,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 +909,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());
tapted 2016/07/06 01:46:37 I think this will be flaky depending on the order
karandeepb 2016/07/19 07:04:40 Using ViewsDelegate for storing yanked text should
+ 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 +940,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 +975,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 +1012,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