@Override public XPathAndFilterFinder toXPath(WebDriver webDriver) { String textToContain = astCssContainsPseudoClass.getArgument(); textToContain = SelectorUtils.unescapeString(textToContain); String wantedTextToContain = SelectorUtils.intoEscapedXPathString(textToContain); return XPathAndFilterFinder.pureXPath("contains(string(.), " + wantedTextToContain + ")"); }
@Test public void visitCssContainsPseudoClass() { assertVisitorVisitsCorrectClass(new AstCssContainsPseudoClass("stuff")); }
@Test public void toElementFinder__REGARDLESS_of_driver_native_support() { CssContainsPseudoClass containsPseudoClass = new CssContainsPseudoClass(new AstCssContainsPseudoClass("my stuff")); assertPseudoClass(containsPseudoClass).whenNotNativelySupported().translatesToPureXPath(CONTAINS_XPATH_EXPRESSION); }
pseudoClassesF.put(AstCssContainsPseudoClass.PSEUDO, a -> new AstCssContainsPseudoClass(a)); pseudoClassesF.put(AstCssEmptyPseudoClass.PSEUDO, a -> new AstCssEmptyPseudoClass()); pseudoClassesF.put(AstCssHasPseudoClass.PSEUDO, a -> new AstCssHasPseudoClass(parseFunctionalPseudoClassSelectorArgument(AstCssHasPseudoClass.PSEUDO, a)));
@Override public XPathAndFilterFinder toXPath(WebDriver webDriver) { String textToContain = astCssContainsPseudoClass.getArgument(); textToContain = SelectorUtils.unescapeString(textToContain); String wantedTextToContain = SelectorUtils.intoEscapedXPathString(textToContain); return XPathAndFilterFinder.pureXPath("contains(string(.), " + wantedTextToContain + ")"); }
pseudoClassesF.put(AstCssContainsPseudoClass.PSEUDO, a -> new AstCssContainsPseudoClass(a)); pseudoClassesF.put(AstCssEmptyPseudoClass.PSEUDO, a -> new AstCssEmptyPseudoClass()); pseudoClassesF.put(AstCssHasPseudoClass.PSEUDO, a -> new AstCssHasPseudoClass(parseFunctionalPseudoClassSelectorArgument(AstCssHasPseudoClass.PSEUDO, a)));