Skip to content

Commit 284d983

Browse files
committed
java,tests: More mockito instead of stub classes
1 parent a4df332 commit 284d983

File tree

8 files changed

+37
-268
lines changed

8 files changed

+37
-268
lines changed

Diff for: java/client/test/org/openqa/selenium/StubDriver.java

+9-4
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,17 @@
1717

1818
package org.openqa.selenium;
1919

20+
import org.openqa.selenium.interactions.HasInputDevices;
21+
import org.openqa.selenium.interactions.HasTouchScreen;
22+
import org.openqa.selenium.interactions.Keyboard;
23+
import org.openqa.selenium.interactions.Mouse;
24+
import org.openqa.selenium.interactions.TouchScreen;
2025
import org.openqa.selenium.logging.Logs;
2126

2227
import java.util.List;
2328
import java.util.Set;
2429

25-
public class StubDriver implements WebDriver, org.openqa.selenium.interactions.HasInputDevices, org.openqa.selenium.interactions.HasTouchScreen {
30+
public class StubDriver implements WebDriver, HasInputDevices, HasTouchScreen {
2631

2732
public void get(String url) {
2833
throw new UnsupportedOperationException("get");
@@ -81,15 +86,15 @@ public Logs logs() {
8186
}
8287

8388
// TODO(eran): Why does this not throw an exception like everything else?
84-
public org.openqa.selenium.interactions.Keyboard getKeyboard() {
89+
public Keyboard getKeyboard() {
8590
return null;
8691
}
8792

88-
public org.openqa.selenium.interactions.Mouse getMouse() {
93+
public Mouse getMouse() {
8994
return null;
9095
}
9196

92-
public org.openqa.selenium.interactions.TouchScreen getTouch() {
97+
public TouchScreen getTouch() {
9398
return null;
9499
}
95100

Diff for: java/client/test/org/openqa/selenium/StubElement.java

-91
This file was deleted.

Diff for: java/client/test/org/openqa/selenium/StubRenderedWebElement.java

-32
This file was deleted.

Diff for: java/client/test/org/openqa/selenium/StubTargetLocator.java

-55
This file was deleted.

Diff for: java/client/test/org/openqa/selenium/interactions/ActionsTest.java

+16-33
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import static org.mockito.Mockito.inOrder;
2222
import static org.mockito.Mockito.mock;
2323
import static org.mockito.Mockito.times;
24+
import static org.mockito.Mockito.when;
25+
import static org.mockito.Mockito.withSettings;
2426

2527
import org.junit.Before;
2628
import org.junit.Test;
@@ -30,10 +32,10 @@
3032
import org.mockito.Mock;
3133
import org.mockito.MockitoAnnotations;
3234
import org.openqa.selenium.Keys;
33-
import org.openqa.selenium.StubRenderedWebElement;
3435
import org.openqa.selenium.WebDriver;
3536
import org.openqa.selenium.WebElement;
3637
import org.openqa.selenium.interactions.internal.Coordinates;
38+
import org.openqa.selenium.internal.Locatable;
3739

3840
/**
3941
* Tests the builder for advanced user interaction, the Actions class.
@@ -51,25 +53,11 @@ public class ActionsTest {
5153
public void setUp() {
5254
MockitoAnnotations.initMocks(this);
5355

54-
dummyLocatableElement = new StubRenderedWebElement() {
55-
@Override
56-
public Coordinates getCoordinates() {
57-
return mockCoordinates;
58-
}
59-
};
60-
61-
driver = new StubInputDeviceDriver() {
62-
@Override
63-
public Keyboard getKeyboard() {
64-
return mockKeyboard;
65-
}
66-
67-
@Override
68-
public Mouse getMouse() {
69-
return mockMouse;
70-
}
71-
72-
};
56+
dummyLocatableElement = mockLocatableElementWithCoordinates(mockCoordinates);
57+
58+
driver = mock(WebDriver.class, withSettings().extraInterfaces(HasInputDevices.class));
59+
when(((HasInputDevices) driver).getKeyboard()).thenReturn(mockKeyboard);
60+
when(((HasInputDevices) driver).getMouse()).thenReturn(mockMouse);
7361
}
7462

7563
@Test
@@ -112,19 +100,8 @@ public void supplyingIndividualElementsToKeyboardActions() {
112100
final Coordinates dummyCoordinates2 = mock(Coordinates.class, "dummy2");
113101
final Coordinates dummyCoordinates3 = mock(Coordinates.class, "dummy3");
114102

115-
final WebElement dummyElement2 = new StubRenderedWebElement() {
116-
@Override
117-
public Coordinates getCoordinates() {
118-
return dummyCoordinates2;
119-
}
120-
};
121-
122-
final WebElement dummyElement3 = new StubRenderedWebElement() {
123-
@Override
124-
public Coordinates getCoordinates() {
125-
return dummyCoordinates3;
126-
}
127-
};
103+
final WebElement dummyElement2 = mockLocatableElementWithCoordinates(dummyCoordinates2);
104+
final WebElement dummyElement3 = mockLocatableElementWithCoordinates(dummyCoordinates3);
128105

129106
Actions builder = new Actions(driver);
130107

@@ -177,4 +154,10 @@ public void creatingAllMouseActions() {
177154
order.verifyNoMoreInteractions();
178155
}
179156

157+
private WebElement mockLocatableElementWithCoordinates(Coordinates coord) {
158+
WebElement element = mock(WebElement.class,
159+
withSettings().extraInterfaces(Locatable.class));
160+
when(((Locatable) element).getCoordinates()).thenReturn(coord);
161+
return element;
162+
}
180163
}

Diff for: java/client/test/org/openqa/selenium/interactions/StubInputDeviceDriver.java

-31
This file was deleted.

Diff for: java/client/test/org/openqa/selenium/remote/AugmenterTest.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static org.junit.Assert.assertNotSame;
2222
import static org.junit.Assert.assertThat;
2323
import static org.junit.Assert.assertTrue;
24+
import static org.mockito.Mockito.mock;
2425
import static org.openqa.selenium.remote.DriverCommand.FIND_ELEMENT;
2526

2627
import static org.hamcrest.Matchers.not;
@@ -33,10 +34,11 @@
3334
import org.junit.Test;
3435
import org.junit.runner.RunWith;
3536
import org.junit.runners.JUnit4;
37+
import org.mockito.Mockito;
3638
import org.openqa.selenium.By;
3739
import org.openqa.selenium.Capabilities;
38-
import org.openqa.selenium.StubElement;
3940
import org.openqa.selenium.WebDriver;
41+
import org.openqa.selenium.WebElement;
4042

4143
import java.lang.reflect.InvocationTargetException;
4244
import java.lang.reflect.Method;
@@ -54,8 +56,9 @@ public void shouldAllowReflexiveCalls() {
5456
DesiredCapabilities caps = new DesiredCapabilities();
5557
caps.setCapability(CapabilityType.SUPPORTS_FINDING_BY_CSS, true);
5658
StubExecutor executor = new StubExecutor(caps);
59+
final WebElement element = mock(WebElement.class);
5760
executor.expect(FIND_ELEMENT, ImmutableMap.of("using", "css selector", "value", "cheese"),
58-
new StubElement());
61+
element);
5962

6063
WebDriver driver = new RemoteWebDriver(executor, caps);
6164
WebDriver returned = getAugmenter().augment(driver);

0 commit comments

Comments
 (0)