@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 visitCssParentPseudoClass() { assertVisitorVisitsCorrectClass(new AstCssParentPseudoClass()); }
@Test public void visitCssContainsPseudoClass() { assertVisitorVisitsCorrectClass(new AstCssContainsPseudoClass("stuff")); }
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))); pseudoClassesF.put(AstCssParentPseudoClass.PSEUDO, a -> new AstCssParentPseudoClass());
@Test public void visitCssEmptyPseudoClass() { assertVisitorVisitsCorrectClass(new AstCssEmptyPseudoClass()); }
@Test public void visitCssHasPseudoClass() { assertVisitorVisitsCorrectClass(new AstCssHasPseudoClass(ParseTreeBuilder.parse(".clazz"))); }
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))); pseudoClassesF.put(AstCssParentPseudoClass.PSEUDO, a -> new AstCssParentPseudoClass());
@Test public void toElementFinder__REGARDLESS_of_driver_native_support() { CssContainsPseudoClass containsPseudoClass = new CssContainsPseudoClass(new AstCssContainsPseudoClass("my stuff")); assertPseudoClass(containsPseudoClass).whenNotNativelySupported().translatesToPureXPath(CONTAINS_XPATH_EXPRESSION); }
@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 + ")"); }