X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fbehat%2Fmink%2Fsrc%2FSelector%2FCssSelector.php;fp=vendor%2Fbehat%2Fmink%2Fsrc%2FSelector%2FCssSelector.php;h=0dda40d2e96ee456325314aa8df9bea736e2201f;hp=0000000000000000000000000000000000000000;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad diff --git a/vendor/behat/mink/src/Selector/CssSelector.php b/vendor/behat/mink/src/Selector/CssSelector.php new file mode 100644 index 000000000..0dda40d2e --- /dev/null +++ b/vendor/behat/mink/src/Selector/CssSelector.php @@ -0,0 +1,46 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Behat\Mink\Selector; + +use Symfony\Component\CssSelector\CssSelector as CSS; +use Symfony\Component\CssSelector\CssSelectorConverter; + +/** + * CSS selector engine. Transforms CSS to XPath. + * + * @author Konstantin Kudryashov + */ +class CssSelector implements SelectorInterface +{ + /** + * Translates CSS into XPath. + * + * @param string|array $locator current selector locator + * + * @return string + */ + public function translateToXPath($locator) + { + if (!is_string($locator)) { + throw new \InvalidArgumentException('The CssSelector expects to get a string as locator'); + } + + // Symfony 2.8+ API + if (class_exists('Symfony\Component\CssSelector\CssSelectorConverter')) { + $converter = new CssSelectorConverter(); + + return $converter->toXPath($locator); + } + + // old static API for Symfony 2.7 and older + return CSS::toXPath($locator); + } +}