function it_break_visiting_on_certain_status(VisitorInterface $visitor, TokenPoolInterface $tokenPool, TokenInterface $token, CollatorInterface $collector) { $tokenPool->getIterator()->shouldBeCalledTimes(1)->willReturn(new \ArrayIterator(array($token->getWrappedObject()))); $visitor->accept(Argument::exact($token->getWrappedObject()), Argument::exact($collector->getWrappedObject()))->shouldBeCalledTimes(1)->willReturn(true); $visitor->visit(Argument::exact($token->getWrappedObject()), Argument::exact($collector->getWrappedObject()))->shouldBeCalledTimes(1)->willReturn(VisitorInterface::STATE_FOUND); $this->add($visitor, -255)->shouldReturn(true); $this->visit($tokenPool, $collector)->shouldReturn($this); }
function it_visit_token(MatcherInterface $matcher, TokenInterface $token, CollatorInterface $collator, MatcherInterface $matcher, MergingStrategyInterface $mergingStrategy, RuleInterface $rule) { $this->beConstructedWith($matcher, $mergingStrategy); $rules = new \ArrayIterator(array($rule->getWrappedObject())); $matcher->match(Argument::exact($token->getWrappedObject()))->shouldBeCalledTimes(1)->willReturn($rules); $mergingStrategy->merge(Argument::exact($rules), Argument::exact($collator->getWrappedObject()))->shouldBeCalledTimes(1); $this->visit($token, $collator)->shouldReturn(VisitorInterface::STATE_SEEKING); }
function it_match_bu_using_repository_and_resolver(TokenInterface $token, RepositoryInterface $repository, ResolverInterface $resolver, Rule $rule, EvaluatorInterface $evaluator) { $this->beConstructedWith($repository, $resolver); $condition = new Condition(); $conditions = array($condition); $rule->getConditions()->shouldBeCalled()->willReturn($conditions); $rules = array($rule); $repository->getNonIndexableRules()->shouldBeCalled()->willReturn($rules); $resolver->resolve(Argument::exact($condition))->shouldBeCalled()->willReturn($evaluator); $evaluator->evaluate(Argument::exact($token->getWrappedObject()), $condition, Argument::exact($rule->getWrappedObject()))->shouldBeCalled()->willReturn(true); $results = $this->match($token); $results->shouldReturnAnInstanceOf('\\Iterator'); $results->shouldHaveCount(1); $results->shouldHaveKey($rule); }