@Test public void visitAstCssAndCondition() { assertVisitorVisitsCorrectClass(new AstCssAndCondition(null, null)); }
AstCssAndCondition translate(SimpleSelector selectorUpToThisPoint, ArgumentMap argumentMap, CombinatorCondition combinatorCondition) { ConditionalSelectorImpl selectorUpToThisPointPlusFirstCondition = new ConditionalSelectorImpl(selectorUpToThisPoint, combinatorCondition.getFirstCondition()); CssCondition firstCondition = cssConditionTranslator.translate(selectorUpToThisPoint, argumentMap, combinatorCondition.getFirstCondition()); CssCondition secondCondition = cssConditionTranslator.translate(selectorUpToThisPointPlusFirstCondition, argumentMap, combinatorCondition.getSecondCondition()); return new AstCssAndCondition(firstCondition, secondCondition); }
AstCssAndCondition translate(SimpleSelector selectorUpToThisPoint, ArgumentMap argumentMap, CombinatorCondition combinatorCondition) { ConditionalSelectorImpl selectorUpToThisPointPlusFirstCondition = new ConditionalSelectorImpl(selectorUpToThisPoint, combinatorCondition.getFirstCondition()); CssCondition firstCondition = cssConditionTranslator.translate(selectorUpToThisPoint, argumentMap, combinatorCondition.getFirstCondition()); CssCondition secondCondition = cssConditionTranslator.translate(selectorUpToThisPointPlusFirstCondition, argumentMap, combinatorCondition.getSecondCondition()); return new AstCssAndCondition(firstCondition, secondCondition); }
@Test public void toElementFinder() { // given CssIdAttributeCondition idCondition = new CssIdAttributeCondition(new AstCssIdAttributeCondition("my-id")); CssClassAttributeCondition classCondition = new CssClassAttributeCondition(new AstCssClassAttributeCondition("class-name")); CssAndCondition andCondition = new CssAndCondition(new AstCssAndCondition(idCondition, classCondition)); // when ElementFinder elementFinder = andCondition.toElementFinder(UNIVERSAL_SELECTOR_FINDER); // then assertThat(elementFinder.toCssString(), is("#my-id.class-name")); assertThat(elementFinder.canFetchThroughCssAlone(), is(true)); assertThat(elementFinder.getXPathExpression(), is(".//*[@id = 'my-id' and contains(concat(' ', normalize-space(@class), ' '), ' class-name ')]")); assertThat(elementFinder.getElementFilterList().getElementFilters(), empty()); }