| Conditions | 2 |
| Paths | 2 |
| Total Lines | 12 |
| Code Lines | 7 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 7 | protected function countElements($element, $index, $parent) |
||
| 8 | { |
||
| 9 | $page = $this->getSession()->getPage(); |
||
|
|
|||
| 10 | |||
| 11 | $parents = $page->findAll('css', $parent); |
||
| 12 | if (!isset($parents[$index - 1])) { |
||
| 13 | throw new \Exception("The $index element '$parent' was not found anywhere in the page"); |
||
| 14 | } |
||
| 15 | |||
| 16 | $elements = $parents[$index - 1]->findAll('css', $element); |
||
| 17 | return count($elements); |
||
| 18 | } |
||
| 19 | } |
||
| 20 |
This check looks for methods that are used by a trait but not required by it.
To illustrate, let’s look at the following code example
The trait
Idableprovides a methodequalsIdthat in turn relies on the methodgetId(). If this method does not exist on a class mixing in this trait, the method will fail.Adding the
getId()as an abstract method to the trait will make sure it is available.