@Override public CssCondition visit(AstCssContainsSubstringAttributeCondition astCssContainsSubstringAttributeCondition) { return new CssContainsSubstringAttributeCondition(astCssContainsSubstringAttributeCondition); }
protected String toXPath() { String escapedAttributeName = AttributeEvaluatorUtils.toXPathAttribute(this.getAttributeName()); String escapedWantedValue = SelectorUtils.intoEscapedXPathString(this.getWantedValue()); return "contains(" + escapedAttributeName + ", " + escapedWantedValue + ")"; }
@Test public void toElementFinder() { // given CssContainsSubstringAttributeCondition containsSubstringAttributeCondition = new CssContainsSubstringAttributeCondition(new AstCssContainsSubstringAttributeCondition("attribute", "stringToContain")); ElementFinder previous = ElementFinderUtilsTest.UNIVERSAL_SELECTOR_FINDER; // when ElementFinder elementFinder = containsSubstringAttributeCondition.toElementFinder(previous); // then assertThat(elementFinder.toCssString(), is("[attribute*='stringToContain']")); assertThat(elementFinder.canFetchThroughCssAlone(), is(true)); String attrName = "@*[translate(name(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'attribute']"; assertThat(elementFinder.getXPathExpression(), is(".//*[contains(" + attrName + ", 'stringToContain')]")); assertThat(elementFinder.getElementFilterList().getElementFilters(), empty()); }
protected String toXPath() { String escapedAttributeName = AttributeEvaluatorUtils.toXPathAttribute(this.getAttributeName()); String escapedWantedValue = SelectorUtils.intoEscapedXPathString(this.getWantedValue()); return "contains(" + escapedAttributeName + ", " + escapedWantedValue + ")"; }
@Override public CssCondition visit(AstCssContainsSubstringAttributeCondition astCssContainsSubstringAttributeCondition) { return new CssContainsSubstringAttributeCondition(astCssContainsSubstringAttributeCondition); }