@Override public CssCondition visit(AstCssIdAttributeCondition astCssIdAttributeCondition) { return new CssIdAttributeCondition(astCssIdAttributeCondition); }
@Override public CssCondition visit(AstCssIdAttributeCondition astCssIdAttributeCondition) { return new CssIdAttributeCondition(astCssIdAttributeCondition); }
@Test public void toElementFinder() { // given CssIdAttributeCondition idAttributeCondition = new CssIdAttributeCondition(new AstCssIdAttributeCondition("idz")); ElementFinder previous = ElementFinderUtilsTest.UNIVERSAL_SELECTOR_FINDER; // when ElementFinder elementFinder = idAttributeCondition.toElementFinder(previous); // then assertThat(elementFinder.toCssString(), is("#idz")); assertThat(elementFinder.canFetchThroughCssAlone(), is(true)); assertThat(elementFinder.getXPathExpression(), is(".//*[@id = 'idz']")); assertThat(elementFinder.getElementFilterList().getElementFilters(), empty()); }
@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()); }