function it_return_true_if_text_types_not_correspond(NodeInterface $node, ConditionInterface $condition) { $node->isType(Argument::exact(NodeInterface::TYPE_SPACE))->willReturn(false); $condition->isType(Argument::exact(ConditionInterface::TYPE_SPACE))->willReturn(false); $condition->isType(Argument::exact(ConditionInterface::TYPE_PLACEHOLDER))->willReturn(false); $node->isType(Argument::exact(NodeInterface::TYPE_TEXT))->willReturn(true)->shouldBeCalledTimes(1); $condition->isType(Argument::exact(ConditionInterface::TYPE_TEXT))->willReturn(true)->shouldBeCalledTimes(1); $node->getValue()->willReturn('value')->shouldBeCalledTimes(1); $condition->getValue()->willReturn('value')->shouldBeCalledTimes(1); $this->areEquals($node, $condition)->shouldReturn(true); }
/** * {@inheritdoc} */ public function areEquals(NodeInterface $node, ConditionInterface $condition) { if ($node->isType(NodeInterface::TYPE_SPACE) && $condition->isType(ConditionInterface::TYPE_SPACE)) { return true; } if ($condition->isType(ConditionInterface::TYPE_PLACEHOLDER)) { return true; } if ($node->isType(NodeInterface::TYPE_TEXT) && !$condition->isType(ConditionInterface::TYPE_TEXT)) { return false; } return $node->getValue() === $condition->getValue(); }