Skip to content

Commit 969f586

Browse files
kuhtichlukeis
authored andcommitted
Added CharSequence[] keysToSend in *ChangeValueOf event + test
Signed-off-by: Luke Inman-Semerau <[email protected]>
1 parent 81d10fb commit 969f586

File tree

4 files changed

+23
-18
lines changed

4 files changed

+23
-18
lines changed

java/client/src/org/openqa/selenium/support/events/AbstractWebDriverEventListener.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,11 +75,11 @@ public void afterClickOn(WebElement element, WebDriver driver) {
7575
// Do nothing.
7676
}
7777

78-
public void beforeChangeValueOf(WebElement element, WebDriver driver) {
78+
public void beforeChangeValueOf(WebElement element, WebDriver driver, CharSequence[] keysToSend) {
7979
// Do nothing.
8080
}
8181

82-
public void afterChangeValueOf(WebElement element, WebDriver driver) {
82+
public void afterChangeValueOf(WebElement element, WebDriver driver, CharSequence[] keysToSend) {
8383
// Do nothing.
8484
}
8585

java/client/src/org/openqa/selenium/support/events/EventFiringWebDriver.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -354,15 +354,15 @@ public void submit() {
354354
}
355355

356356
public void sendKeys(CharSequence... keysToSend) {
357-
dispatcher.beforeChangeValueOf(element, driver);
357+
dispatcher.beforeChangeValueOf(element, driver, keysToSend);
358358
element.sendKeys(keysToSend);
359-
dispatcher.afterChangeValueOf(element, driver);
359+
dispatcher.afterChangeValueOf(element, driver, keysToSend);
360360
}
361361

362362
public void clear() {
363-
dispatcher.beforeChangeValueOf(element, driver);
363+
dispatcher.beforeChangeValueOf(element, driver, null);
364364
element.clear();
365-
dispatcher.afterChangeValueOf(element, driver);
365+
dispatcher.afterChangeValueOf(element, driver, null);
366366
}
367367

368368
public String getTagName() {

java/client/src/org/openqa/selenium/support/events/WebDriverEventListener.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ public interface WebDriverEventListener {
133133
* @param driver WebDriver
134134
* @param element the WebElement being used for the action
135135
*/
136-
void beforeChangeValueOf(WebElement element, WebDriver driver);
136+
void beforeChangeValueOf(WebElement element, WebDriver driver, CharSequence[] keysToSend);
137137

138138
/**
139139
* Called after {@link WebElement#clear WebElement.clear()}, {@link WebElement#sendKeys
@@ -142,7 +142,7 @@ public interface WebDriverEventListener {
142142
* @param driver WebDriver
143143
* @param element the WebElement being used for the action
144144
*/
145-
void afterChangeValueOf(WebElement element, WebDriver driver);
145+
void afterChangeValueOf(WebElement element, WebDriver driver, CharSequence[] keysToSend);
146146

147147
/**
148148
* Called before {@link org.openqa.selenium.remote.RemoteWebDriver#executeScript(java.lang.String, java.lang.Object[]) }

java/client/test/org/openqa/selenium/support/events/EventFiringWebDriverTest.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import org.openqa.selenium.internal.WrapsElement;
4545

4646
import java.util.ArrayList;
47+
import java.util.Arrays;
4748
import java.util.HashMap;
4849

4950
/**
@@ -176,30 +177,34 @@ public void changeValueEvent() {
176177
EventFiringWebDriver testedDriver =
177178
new EventFiringWebDriver(mockedDriver).register(new AbstractWebDriverEventListener() {
178179
@Override
179-
public void beforeChangeValueOf(WebElement element, WebDriver driver) {
180-
log.append("beforeChangeValueOf\n");
180+
public void beforeChangeValueOf(WebElement element, WebDriver driver,
181+
CharSequence[] keysToSend) {
182+
log.append("beforeChangeValueOf" + " " + Arrays.toString(keysToSend) + "\n");
181183
}
182184

183185
@Override
184-
public void afterChangeValueOf(WebElement element, WebDriver driver) {
185-
log.append("afterChangeValueOf\n");
186+
public void afterChangeValueOf(WebElement element, WebDriver driver,
187+
CharSequence[] keysToSend) {
188+
log.append("afterChangeValueOf" + " " + Arrays.toString(keysToSend) + "\n");
186189
}
187190
});
188191

192+
String someText = "some text";
193+
189194
testedDriver.findElement(By.name("foo")).clear();
190-
testedDriver.findElement(By.name("foo")).sendKeys("some text");
195+
testedDriver.findElement(By.name("foo")).sendKeys(someText);
191196
testedDriver.findElement(By.name("foo")).click();
192197

193198
assertEquals(
194-
"beforeChangeValueOf\n" +
195-
"afterChangeValueOf\n" +
196-
"beforeChangeValueOf\n" +
197-
"afterChangeValueOf\n",
199+
"beforeChangeValueOf null\n" +
200+
"afterChangeValueOf null\n" +
201+
"beforeChangeValueOf [" + someText +"]\n" +
202+
"afterChangeValueOf [" + someText +"]\n",
198203
log.toString());
199204

200205
InOrder order = Mockito.inOrder(mockedElement);
201206
order.verify(mockedElement).clear();
202-
order.verify(mockedElement).sendKeys("some text");
207+
order.verify(mockedElement).sendKeys(someText);
203208
order.verify(mockedElement).click();
204209
order.verifyNoMoreInteractions();
205210

0 commit comments

Comments
 (0)