1414 */
1515package org .htmlunit .selenium ;
1616
17- import static org .hamcrest .MatcherAssert .assertThat ;
18- import static org .hamcrest .core .AnyOf .anyOf ;
19- import static org .hamcrest .core .Is .is ;
20- import static org .hamcrest .core .StringContains .containsString ;
21-
2217import org .htmlunit .junit .BrowserRunner ;
2318import org .htmlunit .junit .BrowserRunner .Alerts ;
19+ import org .htmlunit .junit .BrowserRunner .HtmlUnitNYI ;
2420import org .junit .Test ;
2521import org .junit .runner .RunWith ;
2622import org .openqa .selenium .By ;
@@ -49,39 +45,40 @@ public void shouldBeAbleToUseArrowKeys() throws Exception {
4945 final WebElement keyReporter = driver .findElement (By .id ("keyReporter" ));
5046 keyReporter .sendKeys ("tet" , Keys .ARROW_LEFT , "s" );
5147
52- assertThat (keyReporter .getAttribute ("value" ), is ("test" ));
48+ assertEquals ("test" , keyReporter .getAttribute ("value" ));
49+ assertEquals ("test" , keyReporter .getDomProperty ("value" ));
5350 }
5451
5552 /**
5653 * A test.
5754 */
5855 @ Test
56+ @ Alerts ({"down: 40 up: 40" , "down: 38 up: 38" , "down: 37 up: 37" , "down: 39 up: 39" })
57+ @ HtmlUnitNYI (FF = {"down: 40 press: 40 up: 40" , "down: 38 press: 38 up: 38" ,
58+ "down: 37 press: 37 up: 37" , "down: 39 press: 39 up: 39" },
59+ FF_ESR = {"down: 40 press: 40 up: 40" , "down: 38 press: 38 up: 38" ,
60+ "down: 37 press: 37 up: 37" , "down: 39 press: 39 up: 39" })
5961 public void shouldReportKeyCodeOfArrowKeys () {
6062 final WebDriver driver = getWebDriver ("/javascriptPage.html" );
6163
6264 final WebElement result = driver .findElement (By .id ("result" ));
6365 final WebElement element = driver .findElement (By .id ("keyReporter" ));
6466
6567 element .sendKeys (Keys .ARROW_DOWN );
66- checkRecordedKeySequence ( result , 40 );
68+ assertEquals ( getExpectedAlerts ()[ 0 ], result . getText (). trim () );
6769
6870 element .sendKeys (Keys .ARROW_UP );
69- checkRecordedKeySequence ( result , 38 );
71+ assertEquals ( getExpectedAlerts ()[ 1 ], result . getText (). trim () );
7072
7173 element .sendKeys (Keys .ARROW_LEFT );
72- checkRecordedKeySequence ( result , 37 );
74+ assertEquals ( getExpectedAlerts ()[ 2 ], result . getText (). trim () );
7375
7476 element .sendKeys (Keys .ARROW_RIGHT );
75- checkRecordedKeySequence ( result , 39 );
77+ assertEquals ( getExpectedAlerts ()[ 3 ], result . getText (). trim () );
7678
7779 // And leave no rubbish/printable keys in the "keyReporter"
78- assertThat (element .getAttribute ("value" ), is ("" ));
79- }
80-
81- private static void checkRecordedKeySequence (final WebElement element , final int expectedKeyCode ) {
82- assertThat (element .getText ().trim (),
83- anyOf (is (String .format ("down: %1$d press: %1$d up: %1$d" , expectedKeyCode )),
84- is (String .format ("down: %1$d up: %1$d" , expectedKeyCode ))));
80+ assertEquals ("" , element .getAttribute ("value" ));
81+ assertEquals ("" , element .getDomProperty ("value" ));
8582 }
8683
8784 /**
@@ -95,23 +92,24 @@ public void shouldReportKeyCodeOfArrowKeysUpDownEvents() {
9592 final WebElement element = driver .findElement (By .id ("keyReporter" ));
9693
9794 element .sendKeys (Keys .ARROW_DOWN );
98- assertThat (result .getText ().trim (), containsString ("down: 40" ));
99- assertThat (result .getText ().trim (), containsString ("up: 40" ));
95+ assertTrue (result .getText ().trim (). contains ("down: 40" ));
96+ assertTrue (result .getText ().trim (). contains ("up: 40" ));
10097
10198 element .sendKeys (Keys .ARROW_UP );
102- assertThat (result .getText ().trim (), containsString ("down: 38" ));
103- assertThat (result .getText ().trim (), containsString ("up: 38" ));
99+ assertTrue (result .getText ().trim (). contains ("down: 38" ));
100+ assertTrue (result .getText ().trim (). contains ("up: 38" ));
104101
105102 element .sendKeys (Keys .ARROW_LEFT );
106- assertThat (result .getText ().trim (), containsString ("down: 37" ));
107- assertThat (result .getText ().trim (), containsString ("up: 37" ));
103+ assertTrue (result .getText ().trim (). contains ("down: 37" ));
104+ assertTrue (result .getText ().trim (). contains ("up: 37" ));
108105
109106 element .sendKeys (Keys .ARROW_RIGHT );
110- assertThat (result .getText ().trim (), containsString ("down: 39" ));
111- assertThat (result .getText ().trim (), containsString ("up: 39" ));
107+ assertTrue (result .getText ().trim (). contains ("down: 39" ));
108+ assertTrue (result .getText ().trim (). contains ("up: 39" ));
112109
113110 // And leave no rubbish/printable keys in the "keyReporter"
114- assertThat (element .getAttribute ("value" ), is ("" ));
111+ assertEquals ("" , element .getAttribute ("value" ));
112+ assertEquals ("" , element .getDomProperty ("value" ));
115113 }
116114
117115 /**
@@ -127,8 +125,10 @@ public void numericShiftKeys() {
127125 final String numericShiftsEtc = "~!@#$%^&*()_+{}:\" <>?|END~" ;
128126 element .sendKeys (numericShiftsEtc );
129127
130- assertThat (element .getAttribute ("value" ), is (numericShiftsEtc ));
131- assertThat (result .getText ().trim (), containsString (" up: 16" ));
128+ assertEquals (numericShiftsEtc , element .getAttribute ("value" ));
129+ assertEquals (numericShiftsEtc , element .getDomProperty ("value" ));
130+
131+ assertTrue (result .getText (), result .getText ().trim ().contains (" up: 16" ));
132132 }
133133
134134 /**
@@ -144,8 +144,10 @@ public void uppercaseAlphaKeys() {
144144 final String upperAlphas = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ;
145145 element .sendKeys (upperAlphas );
146146
147- assertThat (element .getAttribute ("value" ), is (upperAlphas ));
148- assertThat (result .getText ().trim (), containsString (" up: 16" ));
147+ assertEquals (upperAlphas , element .getAttribute ("value" ));
148+ assertEquals (upperAlphas , element .getDomProperty ("value" ));
149+
150+ assertTrue (result .getText (), result .getText ().trim ().contains (" up: 16" ));
149151 }
150152
151153 /**
@@ -163,8 +165,10 @@ public void allPrintableKeys() {
163165 + "PQRSTUVWXYZ [\\ ]^_`abcdefghijklmnopqrstuvwxyz{|}~" ;
164166 element .sendKeys (allPrintable );
165167
166- assertThat (element .getAttribute ("value" ), is (allPrintable ));
167- assertThat (result .getText ().trim (), containsString (" up: 16" ));
168+ assertEquals (allPrintable , element .getAttribute ("value" ));
169+ assertEquals (allPrintable , element .getDomProperty ("value" ));
170+
171+ assertTrue (result .getText (), result .getText ().trim ().contains (" up: 16" ));
168172 }
169173
170174 /**
@@ -178,7 +182,9 @@ public void testArrowKeysAndPageUpAndDown() {
178182
179183 element .sendKeys ("a" + Keys .LEFT + "b" + Keys .RIGHT
180184 + Keys .UP + Keys .DOWN + Keys .PAGE_UP + Keys .PAGE_DOWN + "1" );
181- assertThat (element .getAttribute ("value" ), is ("ba1" ));
185+
186+ assertEquals ("ba1" , element .getAttribute ("value" ));
187+ assertEquals ("ba1" , element .getDomProperty ("value" ));
182188 }
183189
184190 /**
@@ -193,7 +199,9 @@ public void homeAndEndAndPageUpAndPageDownKeys() {
193199 element .sendKeys ("abc" + Keys .HOME + "0" + Keys .LEFT + Keys .RIGHT
194200 + Keys .PAGE_UP + Keys .PAGE_DOWN + Keys .END + "1" + Keys .HOME
195201 + "0" + Keys .PAGE_UP + Keys .END + "111" + Keys .HOME + "00" );
196- assertThat (element .getAttribute ("value" ), is ("0000abc1111" ));
202+
203+ assertEquals ("0000abc1111" , element .getAttribute ("value" ));
204+ assertEquals ("0000abc1111" , element .getDomProperty ("value" ));
197205 }
198206
199207 /**
@@ -206,13 +214,16 @@ public void deleteAndBackspaceKeys() {
206214 final WebElement element = driver .findElement (By .id ("keyReporter" ));
207215
208216 element .sendKeys ("abcdefghi" );
209- assertThat (element .getAttribute ("value" ), is ("abcdefghi" ));
217+ assertEquals ("abcdefghi" , element .getAttribute ("value" ));
218+ assertEquals ("abcdefghi" , element .getDomProperty ("value" ));
210219
211220 element .sendKeys (Keys .LEFT , Keys .LEFT , Keys .DELETE );
212- assertThat (element .getAttribute ("value" ), is ("abcdefgi" ));
221+ assertEquals ("abcdefgi" , element .getAttribute ("value" ));
222+ assertEquals ("abcdefgi" , element .getDomProperty ("value" ));
213223
214224 element .sendKeys (Keys .LEFT , Keys .LEFT , Keys .BACK_SPACE );
215- assertThat (element .getAttribute ("value" ), is ("abcdfgi" ));
225+ assertEquals ("abcdfgi" , element .getAttribute ("value" ));
226+ assertEquals ("abcdfgi" , element .getDomProperty ("value" ));
216227 }
217228
218229 /**
@@ -225,7 +236,8 @@ public void specialSpaceKeys() {
225236 final WebElement element = driver .findElement (By .id ("keyReporter" ));
226237
227238 element .sendKeys ("abcd" + Keys .SPACE + "fgh" + Keys .SPACE + "ij" );
228- assertThat (element .getAttribute ("value" ), is ("abcd fgh ij" ));
239+ assertEquals ("abcd fgh ij" , element .getAttribute ("value" ));
240+ assertEquals ("abcd fgh ij" , element .getDomProperty ("value" ));
229241 }
230242
231243 /**
@@ -241,7 +253,8 @@ public void numberpadKeys() {
241253 + Keys .DECIMAL + Keys .SEPARATOR + Keys .NUMPAD0 + Keys .NUMPAD9
242254 + Keys .ADD + Keys .SEMICOLON + Keys .EQUALS + Keys .DIVIDE
243255 + Keys .NUMPAD3 + "abcd" );
244- assertThat (element .getAttribute ("value" ), is ("abcd*-+.,09+;=/3abcd" ));
256+ assertEquals ("abcd*-+.,09+;=/3abcd" , element .getAttribute ("value" ));
257+ assertEquals ("abcd*-+.,09+;=/3abcd" , element .getDomProperty ("value" ));
245258 }
246259
247260 /**
@@ -254,11 +267,13 @@ public void shiftSelectionDeletes() {
254267 final WebElement element = driver .findElement (By .id ("keyReporter" ));
255268
256269 element .sendKeys ("abcd efgh" );
257- assertThat (element .getAttribute ("value" ), is ("abcd efgh" ));
270+ assertEquals ("abcd efgh" , element .getAttribute ("value" ));
271+ assertEquals ("abcd efgh" , element .getDomProperty ("value" ));
258272
259273 element .sendKeys (Keys .SHIFT , Keys .LEFT , Keys .LEFT , Keys .LEFT );
260274 element .sendKeys (Keys .DELETE );
261- assertThat (element .getAttribute ("value" ), is ("abcd e" ));
275+ assertEquals ("abcd e" , element .getAttribute ("value" ));
276+ assertEquals ("abcd e" , element .getDomProperty ("value" ));
262277 }
263278
264279 /**
@@ -275,10 +290,11 @@ public void chordControlHomeShiftEndDelete() {
275290
276291 element .sendKeys (Keys .HOME );
277292 element .sendKeys ("" + Keys .SHIFT + Keys .END );
278- assertThat (result .getText (), containsString (" up: 16" ));
293+ assertTrue (result .getText (), result . getText (). contains (" up: 16" ));
279294
280295 element .sendKeys (Keys .DELETE );
281- assertThat (element .getAttribute ("value" ), is ("" ));
296+ assertEquals ("" , element .getAttribute ("value" ));
297+ assertEquals ("" , element .getDomProperty ("value" ));
282298 }
283299
284300 /**
@@ -292,21 +308,26 @@ public void chordReveseShiftHomeSelectionDeletes() {
292308 final WebElement element = driver .findElement (By .id ("keyReporter" ));
293309
294310 element .sendKeys ("done" + Keys .HOME );
295- assertThat (element .getAttribute ("value" ), is ("done" ));
311+ assertEquals ("done" , element .getAttribute ("value" ));
312+ assertEquals ("done" , element .getDomProperty ("value" ));
296313
297314 element .sendKeys ("" + Keys .SHIFT + "ALL " + Keys .HOME );
298- assertThat (element .getAttribute ("value" ), is ("ALL done" ));
315+ assertEquals ("ALL done" , element .getAttribute ("value" ));
316+ assertEquals ("ALL done" , element .getDomProperty ("value" ));
299317
300318 element .sendKeys (Keys .DELETE );
301- assertThat (element .getAttribute ("value" ), is ("done" ));
319+ assertEquals ("done" , element .getAttribute ("value" ));
320+ assertEquals ("done" , element .getDomProperty ("value" ));
302321
303322 element .sendKeys ("" + Keys .END + Keys .SHIFT + Keys .HOME );
304- assertThat (element .getAttribute ("value" ), is ("done" ));
323+ assertEquals ("done" , element .getAttribute ("value" ));
324+ assertEquals ("done" , element .getDomProperty ("value" ));
305325 // Note: trailing SHIFT up here
306- assertThat (result .getText (). trim (), containsString (" up: 16" ));
326+ assertTrue (result .getText (), result . getText (). trim (). contains (" up: 16" ));
307327
308328 element .sendKeys ("" + Keys .DELETE );
309- assertThat (element .getAttribute ("value" ), is ("" ));
329+ assertEquals ("" , element .getAttribute ("value" ));
330+ assertEquals ("" , element .getDomProperty ("value" ));
310331 }
311332
312333 /**
@@ -320,7 +341,7 @@ public void generateKeyPressEventEvenWhenElementPreventsDefault() {
320341 final WebElement result = driver .findElement (By .id ("result" ));
321342
322343 silent .sendKeys ("s" );
323- assertThat ( result .getText ().trim (), is ( "" ));
344+ assertEquals ( "" , result .getText ().trim ());
324345 }
325346
326347 /**
0 commit comments