26
26
import static org .mockito .Mockito .verify ;
27
27
import static org .mockito .Mockito .verifyNoMoreInteractions ;
28
28
import static org .mockito .Mockito .when ;
29
+ import static org .mockito .Mockito .withSettings ;
29
30
30
31
import org .junit .Test ;
31
32
import org .junit .runner .RunWith ;
@@ -269,7 +270,8 @@ public void onException(Throwable throwable, WebDriver driver) {
269
270
270
271
@ Test
271
272
public void shouldUnpackElementArgsWhenCallingScripts () {
272
- final ExececutingDriver mockedDriver = mock (ExececutingDriver .class );
273
+ final WebDriver mockedDriver = mock (WebDriver .class ,
274
+ withSettings ().extraInterfaces (JavascriptExecutor .class ));
273
275
final WebElement stubbedElement = mock (WebElement .class );
274
276
275
277
when (mockedDriver .findElement (By .id ("foo" ))).thenReturn (stubbedElement );
@@ -279,12 +281,13 @@ public void shouldUnpackElementArgsWhenCallingScripts() {
279
281
280
282
WebElement element = testedDriver .findElement (By .id ("foo" ));
281
283
testedDriver .executeScript ("foo" , element );
282
- verify (mockedDriver ).executeScript ("foo" , element );
284
+ verify (( JavascriptExecutor ) mockedDriver ).executeScript ("foo" , element );
283
285
}
284
286
285
287
@ Test
286
288
public void testShouldUnpackListOfElementArgsWhenCallingScripts () {
287
- final ExececutingDriver mockedDriver = mock (ExececutingDriver .class );
289
+ final WebDriver mockedDriver = mock (WebDriver .class ,
290
+ withSettings ().extraInterfaces (JavascriptExecutor .class ));
288
291
final WebElement mockElement = mock (WebElement .class );
289
292
290
293
when (mockedDriver .findElement (By .id ("foo" ))).thenReturn (mockElement );
@@ -302,7 +305,7 @@ public void testShouldUnpackListOfElementArgsWhenCallingScripts() {
302
305
add ("after" );
303
306
}});
304
307
305
- verify (mockedDriver ).executeScript ("foo" , new ArrayList <Object >() {{
308
+ verify (( JavascriptExecutor ) mockedDriver ).executeScript ("foo" , new ArrayList <Object >() {{
306
309
add ("before" );
307
310
add (mockElement );
308
311
add ("after" );
@@ -311,7 +314,8 @@ public void testShouldUnpackListOfElementArgsWhenCallingScripts() {
311
314
312
315
@ Test
313
316
public void testShouldUnpackMapOfElementArgsWhenCallingScripts () {
314
- final ExececutingDriver mockedDriver = mock (ExececutingDriver .class );
317
+ final WebDriver mockedDriver = mock (WebDriver .class ,
318
+ withSettings ().extraInterfaces (JavascriptExecutor .class ));
315
319
final WebElement mockElement = mock (WebElement .class );
316
320
317
321
when (mockedDriver .findElement (By .id ("foo" ))).thenReturn (mockElement );
@@ -334,7 +338,7 @@ public void testShouldUnpackMapOfElementArgsWhenCallingScripts() {
334
338
}});
335
339
}});
336
340
337
- verify (mockedDriver ).executeScript ("foo" , new HashMap <String , Object >() {{
341
+ verify (( JavascriptExecutor ) mockedDriver ).executeScript ("foo" , new HashMap <String , Object >() {{
338
342
put ("foo" , "bar" );
339
343
put ("element" , mockElement );
340
344
put ("nested" , new ArrayList <Object >() {{
@@ -358,27 +362,15 @@ public void shouldBeAbleToWrapSubclassesOfSomethingImplementingTheWebDriverInter
358
362
359
363
@ Test
360
364
public void shouldBeAbleToAccessWrappedInstanceFromEventCalls () {
361
- class MyStub extends StubDriver {
362
- @ Override
363
- public void get (String url ) {
364
- // Do nothing
365
- }
366
-
367
- @ SuppressWarnings ("unused" )
368
- public void fishy () {
369
- }
370
-
371
- }
372
-
373
- final WebDriver stub = new MyStub ();
365
+ final WebDriver stub = mock (WebDriver .class );
374
366
EventFiringWebDriver driver = new EventFiringWebDriver (stub );
375
- MyStub wrapped = ( MyStub ) driver .getWrappedDriver ();
367
+ WebDriver wrapped = driver .getWrappedDriver ();
376
368
assertEquals (stub , wrapped );
377
369
378
370
class MyListener extends AbstractWebDriverEventListener {
379
371
@ Override
380
372
public void beforeNavigateTo (String url , WebDriver driver ) {
381
- MyStub unwrapped = ( MyStub ) ((WrapsDriver ) driver ).getWrappedDriver ();
373
+ WebDriver unwrapped = ((WrapsDriver ) driver ).getWrappedDriver ();
382
374
383
375
assertEquals (stub , unwrapped );
384
376
}
@@ -424,7 +416,5 @@ public void shouldReturnLocatorFromToStringMethod() {
424
416
assertEquals (stubElement .toString (), firingElement .toString ());
425
417
}
426
418
427
- private static interface ExececutingDriver extends WebDriver , JavascriptExecutor {}
428
-
429
419
private static class ChildDriver extends StubDriver {}
430
420
}
0 commit comments