X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=vendor%2Fbehat%2Fbehat%2Fsrc%2FBehat%2FTestwork%2FSpecification%2FGroupedSpecificationIterator.php;fp=vendor%2Fbehat%2Fbehat%2Fsrc%2FBehat%2FTestwork%2FSpecification%2FGroupedSpecificationIterator.php;h=0000000000000000000000000000000000000000;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hp=bac556d05f46df138efd43810feed38a95e53165;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0;p=yaffs-website diff --git a/vendor/behat/behat/src/Behat/Testwork/Specification/GroupedSpecificationIterator.php b/vendor/behat/behat/src/Behat/Testwork/Specification/GroupedSpecificationIterator.php deleted file mode 100644 index bac556d05..000000000 --- a/vendor/behat/behat/src/Behat/Testwork/Specification/GroupedSpecificationIterator.php +++ /dev/null @@ -1,137 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Behat\Testwork\Specification; - -use Behat\Testwork\Suite\Suite; - -/** - * Iterates over specification iterators grouped by their suite. - * - * @author Konstantin Kudryashov - */ -final class GroupedSpecificationIterator implements SpecificationIterator -{ - /** - * @var Suite - */ - private $suite; - /** - * @var SpecificationIterator[] - */ - private $iterators; - /** - * @var integer - */ - private $position = 0; - - /** - * Initializes iterator. - * - * @param Suite $suite - * @param SpecificationIterator[] $specificationIterators - */ - public function __construct(Suite $suite, array $specificationIterators) - { - $this->suite = $suite; - $this->iterators = $specificationIterators; - } - - /** - * Groups specifications by their suite. - * - * @param SpecificationIterator[] $specificationIterators - * - * @return GroupedSpecificationIterator[] - */ - public static function group(array $specificationIterators) - { - $groupedSpecifications = array(); - foreach ($specificationIterators as $specificationIterator) { - $groupedSpecifications[$specificationIterator->getSuite()->getName()][] = $specificationIterator; - } - - return array_map( - function ($iterator) { - return new GroupedSpecificationIterator($iterator[0]->getSuite(), $iterator); - }, - $groupedSpecifications - ); - } - - /** - * {@inheritdoc} - */ - public function getSuite() - { - return $this->suite; - } - - /** - * {@inheritdoc} - */ - public function rewind() - { - $this->position = 0; - while (isset($this->iterators[$this->position])) { - $this->iterators[$this->position]->rewind(); - - if ($this->iterators[$this->position]->valid()) { - break; - } - $this->position++; - } - } - - /** - * {@inheritdoc} - */ - public function next() - { - if (!isset($this->iterators[$this->position])) { - return; - } - - $this->iterators[$this->position]->next(); - while (!$this->iterators[$this->position]->valid()) { - $this->position++; - - if (!isset($this->iterators[$this->position])) { - break; - } - - $this->iterators[$this->position]->rewind(); - } - } - - /** - * {@inheritdoc} - */ - public function valid() - { - return isset($this->iterators[$this->position]) && $this->iterators[$this->position]->valid(); - } - - /** - * {@inheritdoc} - */ - public function current() - { - return $this->iterators[$this->position]->current(); - } - - /** - * {@inheritdoc} - */ - public function key() - { - return $this->position + $this->iterators[$this->position]->key(); - } -}