class DisableConstructorPatchSpec in Zircon Profile 8.0
Same name and namespace in other branches
- 8 vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php \spec\Prophecy\Doubler\ClassPatch\DisableConstructorPatchSpec
Hierarchy
- class \spec\Prophecy\Doubler\ClassPatch\DisableConstructorPatchSpec extends \PhpSpec\ObjectBehavior
Expanded class hierarchy of DisableConstructorPatchSpec
File
- vendor/
phpspec/ prophecy/ spec/ Prophecy/ Doubler/ ClassPatch/ DisableConstructorPatchSpec.php, line 8
Namespace
spec\Prophecy\Doubler\ClassPatchView source
class DisableConstructorPatchSpec extends ObjectBehavior {
function it_is_a_patch() {
$this
->shouldBeAnInstanceOf('Prophecy\\Doubler\\ClassPatch\\ClassPatchInterface');
}
function its_priority_is_100() {
$this
->getPriority()
->shouldReturn(100);
}
/**
* @param \Prophecy\Doubler\Generator\Node\ClassNode $node
*/
function it_supports_anything($node) {
$this
->supports($node)
->shouldReturn(true);
}
/**
* @param \Prophecy\Doubler\Generator\Node\ClassNode $class
* @param \Prophecy\Doubler\Generator\Node\MethodNode $method
* @param \Prophecy\Doubler\Generator\Node\ArgumentNode $arg1
* @param \Prophecy\Doubler\Generator\Node\ArgumentNode $arg2
*/
function it_makes_all_constructor_arguments_optional($class, $method, $arg1, $arg2) {
$class
->hasMethod('__construct')
->willReturn(true);
$class
->getMethod('__construct')
->willReturn($method);
$method
->getArguments()
->willReturn(array(
$arg1,
$arg2,
));
$arg1
->setDefault(null)
->shouldBeCalled();
$arg2
->setDefault(null)
->shouldBeCalled();
$method
->setCode(Argument::type('string'))
->shouldBeCalled();
$this
->apply($class);
}
/**
* @param \Prophecy\Doubler\Generator\Node\ClassNode $class
*/
function it_creates_new_constructor_if_object_has_none($class) {
$class
->hasMethod('__construct')
->willReturn(false);
$class
->addMethod(Argument::type('Prophecy\\Doubler\\Generator\\Node\\MethodNode'))
->shouldBeCalled();
$this
->apply($class);
}
}