Skip to content

Commit

Permalink
[java] Minor unit test improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
barancev committed Feb 13, 2021
1 parent f07a95c commit f4e23dd
Showing 1 changed file with 19 additions and 21 deletions.
40 changes: 19 additions & 21 deletions java/client/test/org/openqa/selenium/ByTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
import static org.assertj.core.api.Assertions.fail;
import static org.assertj.core.api.Assertions.assertThatNoException;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
Expand All @@ -46,7 +46,7 @@ public class ByTest {

@Test
public void shouldUseFindsByNameToLocateElementsByName() {
final AllDriver driver = mock(AllDriver.class);
final SearchContext driver = mock(SearchContext.class);

By.cssSelector("cheese").findElement(driver);
By.cssSelector("peas").findElements(driver);
Expand All @@ -58,7 +58,7 @@ public void shouldUseFindsByNameToLocateElementsByName() {

@Test
public void shouldUseXpathLocateElementsByXpath() {
AllDriver driver = mock(AllDriver.class);
SearchContext driver = mock(SearchContext.class);

By.xpath(".//*[@name = 'cheese']").findElement(driver);
By.xpath(".//*[@name = 'peas']").findElements(driver);
Expand All @@ -70,7 +70,7 @@ public void shouldUseXpathLocateElementsByXpath() {

@Test
public void searchesByTagNameIfSupported() {
AllDriver context = mock(AllDriver.class);
SearchContext context = mock(SearchContext.class);

By.tagName("foo").findElement(context);
By.tagName("bar").findElements(context);
Expand All @@ -82,14 +82,14 @@ public void searchesByTagNameIfSupported() {

@Test
public void innerClassesArePublicSoThatTheyCanBeReusedElsewhere() {
assertThat(new ByXPath("a").toString()).isEqualTo("By.xpath: a");
assertThat(new ById("a").toString()).isEqualTo("By.id: a");
assertThat(new ByClassName("a").toString()).isEqualTo("By.className: a");
assertThat(new ByLinkText("a").toString()).isEqualTo("By.linkText: a");
assertThat(new ByName("a").toString()).isEqualTo("By.name: a");
assertThat(new ByTagName("a").toString()).isEqualTo("By.tagName: a");
assertThat(new ByCssSelector("a").toString()).isEqualTo("By.cssSelector: a");
assertThat(new ByPartialLinkText("a").toString()).isEqualTo("By.partialLinkText: a");
assertThat(new ByXPath("a")).hasToString("By.xpath: a");
assertThat(new ById("a")).hasToString("By.id: a");
assertThat(new ByClassName("a")).hasToString("By.className: a");
assertThat(new ByLinkText("a")).hasToString("By.linkText: a");
assertThat(new ByName("a")).hasToString("By.name: a");
assertThat(new ByTagName("a")).hasToString("By.tagName: a");
assertThat(new ByCssSelector("a")).hasToString("By.cssSelector: a");
assertThat(new ByPartialLinkText("a")).hasToString("By.partialLinkText: a");
}

// See https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/2917
Expand All @@ -101,12 +101,13 @@ public List<WebElement> findElements(SearchContext context) {
return null;
}
};
locator.hashCode();
assertThatNoException().isThrownBy(locator::hashCode);
}

@Test
public void ensureMultipleClassNamesAreNotAccepted() {
assertThatExceptionOfType(InvalidSelectorException.class).isThrownBy(() -> By.className("one two"));
assertThatExceptionOfType(InvalidSelectorException.class)
.isThrownBy(() -> By.className("one two"));
}

@Test
Expand All @@ -117,12 +118,9 @@ public void ensureIdIsSerializedProperly() {
Json json = new Json();
Map<String, Object> blob = json.toType(json.toJson(by), MAP_TYPE);

assertThat(blob.get("using")).isEqualTo("css selector");
assertThat(blob.get("value")).isEqualTo("#one\\ two");
assertThat(blob)
.hasSize(2)
.containsEntry("using", "css selector")
.containsEntry("value", "#one\\ two");
}

private interface AllDriver extends SearchContext {
// Place holder
}

}

0 comments on commit f4e23dd

Please sign in to comment.