Chris@0: shouldBeAnInstanceOf('Prophecy\Doubler\ClassPatch\ClassPatchInterface'); Chris@0: } Chris@0: Chris@0: function its_priority_is_50() Chris@0: { Chris@0: $this->getPriority()->shouldReturn(50); Chris@0: } Chris@0: Chris@0: function it_supports_ReflectionClass_only(ClassNode $reflectionClassNode, ClassNode $anotherClassNode) Chris@0: { Chris@0: $reflectionClassNode->getParentClass()->willReturn('ReflectionClass'); Chris@0: $anotherClassNode->getParentClass()->willReturn('stdClass'); Chris@0: Chris@0: $this->supports($reflectionClassNode)->shouldReturn(true); Chris@0: $this->supports($anotherClassNode)->shouldReturn(false); Chris@0: } Chris@0: Chris@0: function it_makes_all_newInstance_arguments_optional( Chris@0: ClassNode $class, Chris@0: MethodNode $method, Chris@0: ArgumentNode $arg1 Chris@0: ) { Chris@0: $class->getMethod('newInstance')->willReturn($method); Chris@0: $method->getArguments()->willReturn(array($arg1)); Chris@0: $arg1->setDefault(null)->shouldBeCalled(); Chris@0: Chris@0: $this->apply($class); Chris@0: } Chris@0: }