ÿØÿà JFIF ÿá Exif MM * ÿÛ C
Server IP : 199.250.214.225 / Your IP : 3.16.48.143 Web Server : Apache System : Linux vps64074.inmotionhosting.com 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : nicngo5 ( 1001) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/nicngo5/nicnAdmin/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ |
Upload File : |
<?php namespace spec\Prophecy\Prophecy; use PhpSpec\ObjectBehavior; use Prophecy\Argument\ArgumentsWildcard; use Prophecy\Call\Call; use Prophecy\Prediction\PredictionInterface; use Prophecy\Promise\PromiseInterface; use Prophecy\Prophecy\ObjectProphecy; class ClassWithFinalMethod { final public function finalMethod() {} } class MethodProphecySpec extends ObjectBehavior { function let(ObjectProphecy $objectProphecy, \ReflectionClass $reflection) { $objectProphecy->reveal()->willReturn($reflection); $this->beConstructedWith($objectProphecy, 'getName', null); } function it_is_initializable() { $this->shouldHaveType('Prophecy\Prophecy\MethodProphecy'); } function its_constructor_throws_MethodNotFoundException_for_unexisting_method($objectProphecy) { $this->shouldThrow('Prophecy\Exception\Doubler\MethodNotFoundException')->during( '__construct', array($objectProphecy, 'getUnexisting', null) ); } function its_constructor_throws_MethodProphecyException_for_final_methods($objectProphecy, ClassWithFinalMethod $subject) { $objectProphecy->reveal()->willReturn($subject); $this->shouldThrow('Prophecy\Exception\Prophecy\MethodProphecyException')->during( '__construct', array($objectProphecy, 'finalMethod', null) ); } function its_constructor_transforms_array_passed_as_3rd_argument_to_ArgumentsWildcard( $objectProphecy ) { $this->beConstructedWith($objectProphecy, 'getName', array(42, 33)); $wildcard = $this->getArgumentsWildcard(); $wildcard->shouldNotBe(null); $wildcard->__toString()->shouldReturn('exact(42), exact(33)'); } function its_constructor_does_not_touch_third_argument_if_it_is_null($objectProphecy) { $this->beConstructedWith($objectProphecy, 'getName', null); $wildcard = $this->getArgumentsWildcard(); $wildcard->shouldBe(null); } function it_records_promise_through_will_method(PromiseInterface $promise, $objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $this->will($promise); $this->getPromise()->shouldReturn($promise); } function it_adds_itself_to_ObjectProphecy_during_call_to_will(PromiseInterface $objectProphecy, $promise) { $objectProphecy->addMethodProphecy($this)->shouldBeCalled(); $this->will($promise); } function it_adds_ReturnPromise_during_willReturn_call($objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $this->willReturn(42); $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\ReturnPromise'); } function it_adds_ThrowPromise_during_willThrow_call($objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $this->willThrow('RuntimeException'); $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\ThrowPromise'); } function it_adds_ReturnArgumentPromise_during_willReturnArgument_call($objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $this->willReturnArgument(); $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\ReturnArgumentPromise'); } function it_adds_ReturnArgumentPromise_during_willReturnArgument_call_with_index_argument($objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $this->willReturnArgument(1); $promise = $this->getPromise(); $promise->shouldBeAnInstanceOf('Prophecy\Promise\ReturnArgumentPromise'); $promise->execute(array('one', 'two'), $objectProphecy, $this)->shouldReturn('two'); } function it_adds_CallbackPromise_during_will_call_with_callback_argument($objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $callback = function () {}; $this->will($callback); $this->getPromise()->shouldBeAnInstanceOf('Prophecy\Promise\CallbackPromise'); } function it_records_prediction_through_should_method(PredictionInterface $prediction, $objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $this->callOnWrappedObject('should', array($prediction)); $this->getPrediction()->shouldReturn($prediction); } function it_adds_CallbackPrediction_during_should_call_with_callback_argument($objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $callback = function () {}; $this->callOnWrappedObject('should', array($callback)); $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\CallbackPrediction'); } function it_adds_itself_to_ObjectProphecy_during_call_to_should($objectProphecy, PredictionInterface $prediction) { $objectProphecy->addMethodProphecy($this)->shouldBeCalled(); $this->callOnWrappedObject('should', array($prediction)); } function it_adds_CallPrediction_during_shouldBeCalled_call($objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $this->callOnWrappedObject('shouldBeCalled', array()); $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\CallPrediction'); } function it_adds_NoCallsPrediction_during_shouldNotBeCalled_call($objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $this->callOnWrappedObject('shouldNotBeCalled', array()); $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\NoCallsPrediction'); } function it_adds_CallTimesPrediction_during_shouldBeCalledTimes_call($objectProphecy) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $this->callOnWrappedObject('shouldBeCalledTimes', array(5)); $this->getPrediction()->shouldBeAnInstanceOf('Prophecy\Prediction\CallTimesPrediction'); } function it_checks_prediction_via_shouldHave_method_call( $objectProphecy, ArgumentsWildcard $arguments, PredictionInterface $prediction, Call $call1, Call $call2 ) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled(); $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); $this->withArguments($arguments); $this->callOnWrappedObject('shouldHave', array($prediction)); } function it_sets_return_promise_during_shouldHave_call_if_none_was_set_before( $objectProphecy, ArgumentsWildcard $arguments, PredictionInterface $prediction, Call $call1, Call $call2 ) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled(); $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); $this->withArguments($arguments); $this->callOnWrappedObject('shouldHave', array($prediction)); $this->getPromise()->shouldReturnAnInstanceOf('Prophecy\Promise\ReturnPromise'); } function it_does_not_set_return_promise_during_shouldHave_call_if_it_was_set_before( $objectProphecy, ArgumentsWildcard $arguments, PredictionInterface $prediction, Call $call1, Call $call2, PromiseInterface $promise ) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled(); $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); $this->will($promise); $this->withArguments($arguments); $this->callOnWrappedObject('shouldHave', array($prediction)); $this->getPromise()->shouldReturn($promise); } function it_records_checked_predictions( $objectProphecy, ArgumentsWildcard $arguments, PredictionInterface $prediction1, PredictionInterface $prediction2, Call $call1, Call $call2, PromiseInterface $promise ) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $prediction1->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->willReturn(); $prediction2->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->willReturn(); $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); $this->will($promise); $this->withArguments($arguments); $this->callOnWrappedObject('shouldHave', array($prediction1)); $this->callOnWrappedObject('shouldHave', array($prediction2)); $this->getCheckedPredictions()->shouldReturn(array($prediction1, $prediction2)); } function it_records_even_failed_checked_predictions( $objectProphecy, ArgumentsWildcard $arguments, PredictionInterface $prediction, Call $call1, Call $call2, PromiseInterface $promise ) { $objectProphecy->addMethodProphecy($this)->willReturn(null); $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->willThrow(new \RuntimeException()); $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); $this->will($promise); $this->withArguments($arguments); try { $this->callOnWrappedObject('shouldHave', array($prediction)); } catch (\Exception $e) {} $this->getCheckedPredictions()->shouldReturn(array($prediction)); } function it_checks_prediction_via_shouldHave_method_call_with_callback( $objectProphecy, ArgumentsWildcard $arguments, Call $call1, Call $call2 ) { $callback = function ($calls, $object, $method) { throw new \RuntimeException; }; $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); $this->withArguments($arguments); $this->shouldThrow('RuntimeException')->duringShouldHave($callback); } function it_does_nothing_during_checkPrediction_if_no_prediction_set() { $this->checkPrediction()->shouldReturn(null); } function it_checks_set_prediction_during_checkPrediction( $objectProphecy, ArgumentsWildcard $arguments, PredictionInterface $prediction, Call $call1, Call $call2 ) { $prediction->check(array($call1, $call2), $objectProphecy->getWrappedObject(), $this)->shouldBeCalled(); $objectProphecy->findProphecyMethodCalls('getName', $arguments)->willReturn(array($call1, $call2)); $objectProphecy->addMethodProphecy($this)->willReturn(null); $this->withArguments($arguments); $this->callOnWrappedObject('should', array($prediction)); $this->checkPrediction(); } function it_links_back_to_ObjectProphecy_through_getter($objectProphecy) { $this->getObjectProphecy()->shouldReturn($objectProphecy); } function it_has_MethodName() { $this->getMethodName()->shouldReturn('getName'); } function it_contains_ArgumentsWildcard_it_was_constructed_with($objectProphecy, ArgumentsWildcard $wildcard) { $this->beConstructedWith($objectProphecy, 'getName', $wildcard); $this->getArgumentsWildcard()->shouldReturn($wildcard); } function its_ArgumentWildcard_is_mutable_through_setter(ArgumentsWildcard $wildcard) { $this->withArguments($wildcard); $this->getArgumentsWildcard()->shouldReturn($wildcard); } function its_withArguments_transforms_passed_array_into_ArgumentsWildcard() { $this->withArguments(array(42, 33)); $wildcard = $this->getArgumentsWildcard(); $wildcard->shouldNotBe(null); $wildcard->__toString()->shouldReturn('exact(42), exact(33)'); } function its_withArguments_throws_exception_if_wrong_arguments_provided() { $this->shouldThrow('Prophecy\Exception\InvalidArgumentException')->duringWithArguments(42); } }