function it_increment_line_strategy(OccurrenceInterface $current, ConditionInterface $currentCondition, NodeInterface $currentNode, OccurrenceInterface $previous, NodeInterface $previousNode) { $current->getCondition()->shouldBeCalled()->willReturn($currentCondition); $current->getNode()->shouldBeCalled()->willReturn($currentNode); $previous->getNode()->shouldBeCalled()->willReturn($previousNode); $currentCondition->isStrategy(Argument::exact(ConditionInterface::STRATEGY_NEXT))->shouldBeCalled()->willReturn(false); $currentNode->getPosition()->shouldBeCalled()->willReturn(3); $previousNode->getPosition()->shouldBeCalled()->willReturn(1); $this->oughtToBeIncrement($current, $previous)->shouldReturn(true); }
/** * {@inheritdoc} */ public function oughtToBeIncrement(OccurrenceInterface $current, OccurrenceInterface $previous) { $currentCondition = $current->getCondition(); $currentNode = $current->getNode(); $previousNode = $previous->getNode(); if ($currentCondition->isStrategy(ConditionInterface::STRATEGY_NEXT)) { return 1 === $currentNode->getPosition() - $previousNode->getPosition(); } return $currentNode->getPosition() > $previousNode->getPosition(); }
/** * {@inheritdoc} */ public function process(OccurrenceInterface $occurrence) { $condition = $occurrence->getCondition(); $node = $occurrence->getNode(); $rule = $occurrence->getRule(); $dynamicCapabilities = $condition->getDynamicCapabilities(); $matchesCapabilities = array(); foreach ($dynamicCapabilities as $capability) { $matchesCapabilities[$capability] = $node->getValue(); } $rule->setCapabilities(array_merge($rule->getCapabilities(), $matchesCapabilities)); }
function it_process_dynamic_capabilities(OccurrenceInterface $occurrence, ConditionInterface $condition, NodeInterface $node, RuleInterface $rule) { $occurrence->getCondition()->shouldBeCalled()->willReturn($condition); $occurrence->getNode()->shouldBeCalled()->willReturn($node); $occurrence->getRule()->shouldBeCalled()->willReturn($rule); $node->getValue()->shouldBeCalled()->willReturn('12.09b'); $dynamicCapabilities = array('browser_version'); $condition->getDynamicCapabilities()->shouldBeCalled()->willReturn($dynamicCapabilities); $capabilities = array('browser' => 'Chrome'); $rule->getCapabilities()->shouldBeCalled()->willReturn($capabilities); $rule->setCapabilities(Argument::exact(array('browser' => 'Chrome', 'browser_version' => '12.09b')))->shouldBeCalled()->willReturn($rule); $this->process($occurrence); }