@@ -86,7 +86,7 @@ public void testSendingKeyDownOnly() {
86
86
releaseShift .perform ();
87
87
88
88
assertTrue ("Key down event not isolated, got: " + logText ,
89
- logText .endsWith ("keydown" ));
89
+ logText .endsWith ("keydown" ));
90
90
}
91
91
92
92
@ JavascriptEnabled
@@ -200,6 +200,77 @@ public void canGenerateKeyboardShortcuts() {
200
200
assertBackgroundColor (body , Colors .SILVER );
201
201
}
202
202
203
+ @ Test
204
+ @ Ignore ({HTMLUNIT , OPERA , OPERA_MOBILE })
205
+ public void testSelectionSelectBySymbol () {
206
+ driver .get (pages .javascriptPage );
207
+
208
+ WebElement keyReporter = driver .findElement (By .id ("keyReporter" ));
209
+
210
+ getBuilder (driver ).click (keyReporter ).sendKeys ("abc def" ).perform ();
211
+ assertThat (keyReporter .getAttribute ("value" ), is ("abc def" ));
212
+
213
+ getBuilder (driver ).click (keyReporter )
214
+ .keyDown (Keys .SHIFT )
215
+ .sendKeys (Keys .LEFT )
216
+ .sendKeys (Keys .LEFT )
217
+ .keyUp (Keys .SHIFT )
218
+ .sendKeys (Keys .DELETE )
219
+ .perform ();
220
+
221
+ assertThat (keyReporter .getAttribute ("value" ), is ("abc d" ));
222
+ }
223
+
224
+ @ Test
225
+ @ Ignore ({HTMLUNIT , IE , OPERA , OPERA_MOBILE })
226
+ public void testSelectionSelectByWord () {
227
+ assumeTrue (
228
+ "Test fails with native events enabled, likely due to issue 4385" ,
229
+ !TestUtilities .isFirefox (driver ) || !TestUtilities .isNativeEventsEnabled (driver ));
230
+
231
+ driver .get (pages .javascriptPage );
232
+
233
+ WebElement keyReporter = driver .findElement (By .id ("keyReporter" ));
234
+
235
+ getBuilder (driver ).click (keyReporter ).sendKeys ("abc def" ).perform ();
236
+ assertThat (keyReporter .getAttribute ("value" ), is ("abc def" ));
237
+
238
+ getBuilder (driver ).click (keyReporter )
239
+ .keyDown (Keys .SHIFT )
240
+ .keyDown (Keys .CONTROL )
241
+ .sendKeys (Keys .LEFT )
242
+ .keyUp (Keys .CONTROL )
243
+ .keyUp (Keys .SHIFT )
244
+ .sendKeys (Keys .DELETE )
245
+ .perform ();
246
+
247
+ assertThat (keyReporter .getAttribute ("value" ), is ("abc " ));
248
+ }
249
+
250
+ @ Test
251
+ @ Ignore ({HTMLUNIT , IE , OPERA , OPERA_MOBILE })
252
+ public void testSelectionSelectAll () {
253
+ assumeTrue (
254
+ "Test fails with native events enabled, likely due to issue 4385" ,
255
+ !TestUtilities .isFirefox (driver ) || !TestUtilities .isNativeEventsEnabled (driver ));
256
+
257
+ driver .get (pages .javascriptPage );
258
+
259
+ WebElement keyReporter = driver .findElement (By .id ("keyReporter" ));
260
+
261
+ getBuilder (driver ).click (keyReporter ).sendKeys ("abc def" ).perform ();
262
+ assertThat (keyReporter .getAttribute ("value" ), is ("abc def" ));
263
+
264
+ getBuilder (driver ).click (keyReporter )
265
+ .keyDown (Keys .CONTROL )
266
+ .sendKeys ("a" )
267
+ .keyUp (Keys .CONTROL )
268
+ .sendKeys (Keys .DELETE )
269
+ .perform ();
270
+
271
+ assertThat (keyReporter .getAttribute ("value" ), is ("" ));
272
+ }
273
+
203
274
private void assertBackgroundColor (WebElement el , Colors expected ) {
204
275
Color actual = Color .fromString (el .getCssValue ("background-color" ));
205
276
assertThat (actual , is (expected .getColorValue ()));
0 commit comments