/** * E + F * * @author acdcjunior * @since 0.10.0 */ CssDirectAdjacentSelector translateDirectAdjacent(ArgumentMap argumentMap, SiblingSelector siblingSelector) { CssSelector cssSelector = cssSelectorTranslator.translate(argumentMap, siblingSelector.getSelector()); CssSelector sqCssSiblingSelector = cssSelectorTranslator.translate(argumentMap, siblingSelector.getSiblingSelector()); return new CssDirectAdjacentSelector(cssSelector, sqCssSiblingSelector); }
/** * E + F * * @author acdcjunior * @since 0.10.0 */ CssDirectAdjacentSelector translateDirectAdjacent(ArgumentMap argumentMap, SiblingSelector siblingSelector) { CssSelector cssSelector = cssSelectorTranslator.translate(argumentMap, siblingSelector.getSelector()); CssSelector sqCssSiblingSelector = cssSelectorTranslator.translate(argumentMap, siblingSelector.getSiblingSelector()); return new CssDirectAdjacentSelector(cssSelector, sqCssSiblingSelector); }
@Test public void toElementFinder() { // given CssTagNameSelector aTagSelector = new CssTagNameSelector("a"); CssTagNameSelector bTagSelector = new CssTagNameSelector("b"); CssDirectAdjacentSelector directAdjacentSelector = new CssDirectAdjacentSelector(aTagSelector, bTagSelector); // when ElementFinder elementFinder = directAdjacentSelector.toElementFinder(createWebDriverDummy()); // then assertThat(elementFinder.toCssString(), is("a+b")); assertThat(elementFinder.canFetchThroughCssAlone(), is(true)); assertThat(elementFinder.getXPathExpression(), is(".//*[self::a]/following-sibling::*[position() = 1 and self::b]")); assertThat(elementFinder.getElementFilterList().getElementFilters(), empty()); }