3 namespace Drupal\DrupalExtension\Selector;
5 use Behat\Mink\Selector\SelectorInterface;
6 use Behat\Mink\Selector\CssSelector;
9 * Custom "region" selector to help select Drupal regions
11 class RegionSelector implements SelectorInterface {
16 public function __construct(CssSelector $cssSelector, array $regionMap) {
17 $this->cssSelector = $cssSelector;
18 $this->regionMap = $regionMap;
22 * Translates provided locator into XPath.
24 * @param string $region
26 * @throws \InvalidArgumentException
28 public function translateToXPath($region) {
29 if (!isset($this->regionMap[$region])) {
30 throw new \InvalidArgumentException(sprintf('The "%s" region isn\'t configured!', $region));
32 $css = $this->regionMap[$region];
34 return $this->cssSelector->translateToXPath($css);