Code Duplication    Length = 7-10 lines in 15 locations

src/Drupal/DrupalExtension/Context/MarkupContext.php 4 locations

@@ 26-34 (lines=9) @@
23
   *
24
   * @todo this should be a trait when PHP 5.3 support is dropped.
25
   */
26
    public function getRegion($region)
27
    {
28
        $session = $this->getSession();
29
        $regionObj = $session->getPage()->find('region', $region);
30
        if (!$regionObj) {
31
            throw new \Exception(sprintf('No region "%s" found on the page %s.', $region, $session->getCurrentUrl()));
32
        }
33
34
        return $regionObj;
35
    }
36
37
  /**
@@ 51-58 (lines=8) @@
48
   * @throws \Exception
49
   *   If region or button within it cannot be found.
50
   */
51
    public function assertRegionButton($button, $region)
52
    {
53
        $regionObj = $this->getRegion($region);
54
55
        $buttonObj = $regionObj->findButton($button);
56
        if (empty($buttonObj)) {
57
            throw new \Exception(sprintf("The button '%s' was not found in the region '%s' on the page %s", $button, $region, $this->getSession()->getCurrentUrl()));
58
        }
59
    }
60
61
  /**
@@ 64-71 (lines=8) @@
61
  /**
62
   * @Then I( should) see the :tag element in the :region( region)
63
   */
64
    public function assertRegionElement($tag, $region)
65
    {
66
        $regionObj = $this->getRegion($region);
67
        $elements = $regionObj->findAll('css', $tag);
68
        if (!empty($elements)) {
69
            return;
70
        }
71
        throw new \Exception(sprintf('The element "%s" was not found in the "%s" region on the page %s', $tag, $region, $this->getSession()->getCurrentUrl()));
72
    }
73
74
  /**
@@ 77-83 (lines=7) @@
74
  /**
75
   * @Then I( should) not see the :tag element in the :region( region)
76
   */
77
    public function assertNotRegionElement($tag, $region)
78
    {
79
        $regionObj = $this->getRegion($region);
80
        $result = $regionObj->findAll('css', $tag);
81
        if (!empty($result)) {
82
            throw new \Exception(sprintf('The element "%s" was found in the "%s" region on the page %s', $tag, $region, $this->getSession()->getCurrentUrl()));
83
        }
84
    }
85
86
  /**

src/Drupal/DrupalExtension/Context/MinkContext.php 9 locations

@@ 36-44 (lines=9) @@
33
   *
34
   * @return \Behat\Mink\Element\NodeElement
35
   */
36
    public function getRegion($region)
37
    {
38
        $session = $this->getSession();
39
        $regionObj = $session->getPage()->find('region', $region);
40
        if (!$regionObj) {
41
            throw new \Exception(sprintf('No region "%s" found on the page %s.', $region, $session->getCurrentUrl()));
42
        }
43
44
        return $regionObj;
45
    }
46
47
  /**
@@ 344-350 (lines=7) @@
341
   * @Then I (should ) see the button :button
342
   * @Then I (should ) see the :button button
343
   */
344
    public function assertButton($button)
345
    {
346
        $element = $this->getSession()->getPage();
347
        $buttonObj = $element->findButton($button);
348
        if (empty($buttonObj)) {
349
            throw new \Exception(sprintf("The button '%s' was not found on the page %s", $button, $this->getSession()->getCurrentUrl()));
350
        }
351
    }
352
353
  /**
@@ 357-363 (lines=7) @@
354
   * @Then I should not see the button :button
355
   * @Then I should not see the :button button
356
   */
357
    public function assertNotButton($button)
358
    {
359
        $element = $this->getSession()->getPage();
360
        $buttonObj = $element->findButton($button);
361
        if (!empty($buttonObj)) {
362
            throw new \Exception(sprintf("The button '%s' was found on the page %s", $button, $this->getSession()->getCurrentUrl()));
363
        }
364
    }
365
366
  /**
@@ 372-381 (lines=10) @@
369
   * @throws \Exception
370
   *   If region or link within it cannot be found.
371
   */
372
    public function assertRegionLinkFollow($link, $region)
373
    {
374
        $regionObj = $this->getRegion($region);
375
376
        // Find the link within the region
377
        $linkObj = $regionObj->findLink($link);
378
        if (empty($linkObj)) {
379
            throw new \Exception(sprintf('The link "%s" was not found in the region "%s" on the page %s', $link, $region, $this->getSession()->getCurrentUrl()));
380
        }
381
        $linkObj->click();
382
    }
383
384
  /**
@@ 397-405 (lines=9) @@
394
   * @throws \Exception
395
   *   If region or button within it cannot be found.
396
   */
397
    public function assertRegionPressButton($button, $region)
398
    {
399
        $regionObj = $this->getRegion($region);
400
401
        $buttonObj = $regionObj->findButton($button);
402
        if (empty($buttonObj)) {
403
            throw new \Exception(sprintf("The button '%s' was not found in the region '%s' on the page %s", $button, $region, $this->getSession()->getCurrentUrl()));
404
        }
405
        $regionObj->pressButton($button);
406
    }
407
408
  /**
@@ 458-465 (lines=8) @@
455
   * @throws \Exception
456
   *   If region or link within it cannot be found.
457
   */
458
    public function assertLinkRegion($link, $region)
459
    {
460
        $regionObj = $this->getRegion($region);
461
462
        $result = $regionObj->findLink($link);
463
        if (empty($result)) {
464
            throw new \Exception(sprintf('No link to "%s" in the "%s" region on the page %s', $link, $region, $this->getSession()->getCurrentUrl()));
465
        }
466
    }
467
468
  /**
@@ 474-481 (lines=8) @@
471
   * @throws \Exception
472
   *   If region or link within it cannot be found.
473
   */
474
    public function assertNotLinkRegion($link, $region)
475
    {
476
        $regionObj = $this->getRegion($region);
477
478
        $result = $regionObj->findLink($link);
479
        if (!empty($result)) {
480
            throw new \Exception(sprintf('Link to "%s" in the "%s" region on the page %s', $link, $region, $this->getSession()->getCurrentUrl()));
481
        }
482
    }
483
484
  /**
@@ 490-498 (lines=9) @@
487
   * @throws \Exception
488
   *   If region or text within it cannot be found.
489
   */
490
    public function assertRegionText($text, $region)
491
    {
492
        $regionObj = $this->getRegion($region);
493
494
        // Find the text within the region
495
        $regionText = $regionObj->getText();
496
        if (strpos($regionText, $text) === false) {
497
            throw new \Exception(sprintf("The text '%s' was not found in the region '%s' on the page %s", $text, $region, $this->getSession()->getCurrentUrl()));
498
        }
499
    }
500
501
  /**
@@ 507-515 (lines=9) @@
504
   * @throws \Exception
505
   *   If region or text within it cannot be found.
506
   */
507
    public function assertNotRegionText($text, $region)
508
    {
509
        $regionObj = $this->getRegion($region);
510
511
        // Find the text within the region.
512
        $regionText = $regionObj->getText();
513
        if (strpos($regionText, $text) !== false) {
514
            throw new \Exception(sprintf('The text "%s" was found in the region "%s" on the page %s', $text, $region, $this->getSession()->getCurrentUrl()));
515
        }
516
    }
517
518
  /**

src/Drupal/DrupalExtension/Context/DrupalContext.php 2 locations

@@ 182-188 (lines=7) @@
179
   *
180
   * @Then I should see (the text ):text in the :rowText row
181
   */
182
    public function assertTextInTableRow($text, $rowText)
183
    {
184
        $row = $this->getTableRow($this->getSession()->getPage(), $rowText);
185
        if (strpos($row->getText(), $text) === false) {
186
            throw new \Exception(sprintf('Found a row containing "%s", but it did not contain the text "%s".', $rowText, $text));
187
        }
188
    }
189
190
  /**
191
   * Asset text not in a table row containing given text.
@@ 195-201 (lines=7) @@
192
   *
193
   * @Then I should not see (the text ):text in the :rowText row
194
   */
195
    public function assertTextNotInTableRow($text, $rowText)
196
    {
197
        $row = $this->getTableRow($this->getSession()->getPage(), $rowText);
198
        if (strpos($row->getText(), $text) !== false) {
199
            throw new \Exception(sprintf('Found a row containing "%s", but it contained the text "%s".', $rowText, $text));
200
        }
201
    }
202
203
  /**
204
   * Attempts to find a link in a table row containing giving text. This is for