@Override public ElementFinder toElementFinder(ElementFinder leftFinder) { CssCondition firstCondition = this.getFirstCondition(); CssCondition secondCondition = this.getSecondCondition(); ElementFinder elementFinder = firstCondition.toElementFinder(leftFinder); return secondCondition.toElementFinder(elementFinder); }
@Override public ElementFinder toElementFinder(ElementFinder leftFinder) { CssCondition firstCondition = this.getFirstCondition(); CssCondition secondCondition = this.getSecondCondition(); ElementFinder elementFinder = firstCondition.toElementFinder(leftFinder); return secondCondition.toElementFinder(elementFinder); }
@Test public void translate__compound_condition() { // given String compoundConditionSelector = "a.conditionA.conditionB"; // when CssSelector cssSelector = ParseTreeBuilder.parse(compoundConditionSelector).firstSelector(); // then assertThat(cssSelector, instanceOf(CssConditionalSelector.class)); CssSelector sqCssSelector = ((CssConditionalSelector) cssSelector).getCssSelector(); CssCondition cssCondition = ((CssConditionalSelector) cssSelector).getCssCondition(); assertThat(sqCssSelector, instanceOf(CssTagNameSelector.class)); assertThat(((CssTagNameSelector) sqCssSelector).getTagName(), is("a")); assertThat(cssCondition, instanceOf(CssAndCondition.class)); CssCondition sqCssFirstCondition = ((CssAndCondition) cssCondition).getFirstCondition(); CssCondition sqCssSecondCondition = ((CssAndCondition) cssCondition).getSecondCondition(); assertThat(sqCssFirstCondition, instanceOf(CssClassAttributeCondition.class)); assertThat(((CssClassAttributeCondition) sqCssFirstCondition).getClassName(), is("conditionA")); assertThat(sqCssSecondCondition, instanceOf(CssClassAttributeCondition.class)); assertThat(((CssClassAttributeCondition) sqCssSecondCondition).getClassName(), is("conditionB")); }