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

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. 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
« no previous file with comments | « ui/views/cocoa/bridged_content_view.mm ('k') | ui/views/controls/textfield/textfield.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « ui/views/cocoa/bridged_content_view.mm ('k') | ui/views/controls/textfield/textfield.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698