@Override public String mergeXPath(String leftXPathExpression, String rightXPathExpression) { return ElementFinderUtils.conditionalSimpleXPathMerge(leftXPathExpression, rightXPathExpression); } };
@Override public String mergeXPath(String leftXPathExpression, String rightXPathExpression) { return ElementFinderUtils.conditionalToAllXPathMerge(leftXPathExpression, rightXPathExpression); } };
@Override public String mergeXPath(String leftXPathExpression, String rightXPathExpression) { return ElementFinderUtils.conditionalSimpleXPathMerge(leftXPathExpression, rightXPathExpression); } };
@Override public String mergeXPath(String leftXPathExpression, String rightXPathExpression) { return ElementFinderUtils.conditionalToAllXPathMerge(leftXPathExpression, rightXPathExpression); } };
@Test(expected = IllegalArgumentException.class) public void conditionalSimpleXPathMerge__should_throw_exception_if_the_left_expression_does_not_end_in_square_braces() { ElementFinderUtils.conditionalSimpleXPathMerge("true()", "newStuff"); }
@Test public void conditionalToAllXPathMerge__should_merge_new_expression_with_left_expression_around_parenthesis() { String mergedXPath = ElementFinderUtils.conditionalToAllXPathMerge(".//*[self::a]/*[@color = 'blue']", "newStuff"); assertThat(mergedXPath, is("(.//*[self::a]/*[@color = 'blue'])[newStuff]")); }
private void assertLeftAndRightExpressionsAreSimplyMergedTo(String leftXPathExpression, String rightXPathExpression, String mergedExpression) { String mergedXPath = ElementFinderUtils.conditionalSimpleXPathMerge(leftXPathExpression, rightXPathExpression); assertThat(mergedXPath, is(mergedExpression)); }
@Test public void conditionalToAllXPathMerge__should_remove_last_condition_of_the_left_expression_if_it_was_just_true() { String mergedXPath = ElementFinderUtils.conditionalToAllXPathMerge(".//*[self::a]/*[true()]", "newStuff"); assertThat(mergedXPath, is("(.//*[self::a]/*)[newStuff]")); }
@Test(expected = IllegalArgumentException.class) public void conditionalSimpleXPathMerge__should_validate_the_left_expression_for_nullity() { ElementFinderUtils.conditionalSimpleXPathMerge(null, "newStuff"); }
@Override public ElementFinder toElementFinder(ElementFinder leftFinder) { CssFinder newCssSelector = leftFinder.getCssFinder().merge(toCSS()); String newXPathExpression = ElementFinderUtils.conditionalSimpleXPathMerge(leftFinder.getXPathExpression(), toXPath()); return new ElementFinder(newCssSelector, newXPathExpression, leftFinder); }
@Override public ElementFinder toElementFinder(ElementFinder leftFinder) { CssFinder newCssSelector = leftFinder.getCssFinder().merge(toCSS()); String newXPathExpression = ElementFinderUtils.conditionalSimpleXPathMerge(leftFinder.getXPathExpression(), toXPath()); return new ElementFinder(newCssSelector, newXPathExpression, leftFinder); }
@Override public ElementFinder toElementFinder(ElementFinder leftFinder) { CssFinder combinedCssSelector = leftFinder.getCssFinder().merge(toCSS()); String combinedXPathExp = ElementFinderUtils.conditionalSimpleXPathMerge(leftFinder.getXPathExpression(), toXPath()); return new ElementFinder(combinedCssSelector, combinedXPathExp, leftFinder); }
@Override public ElementFinder toElementFinder(ElementFinder leftFinder) { CssFinder newCssSelector = leftFinder.getCssFinder().merge(toCSS()); String newXPathExpression = ElementFinderUtils.conditionalSimpleXPathMerge(leftFinder.getXPathExpression(), toXPath()); return new ElementFinder(newCssSelector, newXPathExpression, leftFinder); }
@Override public ElementFinder toElementFinder(ElementFinder leftFinder) { CssFinder newCssSelector = leftFinder.getCssFinder().merge(toCSS()); String newXPathExpression = ElementFinderUtils.conditionalSimpleXPathMerge(leftFinder.getXPathExpression(), toXPath()); return new ElementFinder(newCssSelector, newXPathExpression, leftFinder); }
@Override public ElementFinder toElementFinder(ElementFinder leftFinder) { CssFinder combinedCssSelector = leftFinder.getCssFinder().merge(toCSS()); String combinedXPathExp = ElementFinderUtils.conditionalSimpleXPathMerge(leftFinder.getXPathExpression(), toXPath()); return new ElementFinder(combinedCssSelector, combinedXPathExp, leftFinder); }
@Override public ElementFinder toElementFinder(ElementFinder leftFinder) { CssFinder newCssSelector = leftFinder.getCssFinder().merge(toCSS()); String newXPathExpression = ElementFinderUtils.conditionalSimpleXPathMerge(leftFinder.getXPathExpression(), toXPath()); return new ElementFinder(newCssSelector, newXPathExpression, leftFinder); }
@Override public ElementFinder toElementFinder(ElementFinder leftFinder) { CssFinder newCssSelector = leftFinder.getCssFinder().merge(toCSS()); String newXPathExpression = ElementFinderUtils.conditionalSimpleXPathMerge(leftFinder.getXPathExpression(), toXPath()); return new ElementFinder(newCssSelector, newXPathExpression, leftFinder); }