annotate vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php @ 5:c69a71b4f40f

Add slideshow module
author Chris Cannam
date Thu, 07 Dec 2017 14:46:23 +0000
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace spec\Prophecy\Promise;
Chris@0 4
Chris@0 5 use PhpSpec\ObjectBehavior;
Chris@0 6 use Prophecy\Prophecy\MethodProphecy;
Chris@0 7 use Prophecy\Prophecy\ObjectProphecy;
Chris@0 8
Chris@0 9 class CallbackPromiseSpec extends ObjectBehavior
Chris@0 10 {
Chris@0 11 function let()
Chris@0 12 {
Chris@0 13 $this->beConstructedWith('get_class');
Chris@0 14 }
Chris@0 15
Chris@0 16 function it_is_promise()
Chris@0 17 {
Chris@0 18 $this->shouldBeAnInstanceOf('Prophecy\Promise\PromiseInterface');
Chris@0 19 }
Chris@0 20
Chris@0 21 function it_should_execute_closure_callback(ObjectProphecy $object, MethodProphecy $method)
Chris@0 22 {
Chris@0 23 $firstArgumentCallback = function ($args) {
Chris@0 24 return $args[0];
Chris@0 25 };
Chris@0 26
Chris@0 27 $this->beConstructedWith($firstArgumentCallback);
Chris@0 28
Chris@0 29 $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one');
Chris@0 30 }
Chris@0 31
Chris@0 32 function it_should_execute_static_array_callback(ObjectProphecy $object, MethodProphecy $method)
Chris@0 33 {
Chris@0 34 $firstArgumentCallback = array('spec\Prophecy\Promise\ClassCallback', 'staticCallbackMethod');
Chris@0 35
Chris@0 36 $this->beConstructedWith($firstArgumentCallback);
Chris@0 37
Chris@0 38 $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one');
Chris@0 39 }
Chris@0 40
Chris@0 41 function it_should_execute_instance_array_callback(ObjectProphecy $object, MethodProphecy $method)
Chris@0 42 {
Chris@0 43 $class = new ClassCallback();
Chris@0 44 $firstArgumentCallback = array($class, 'callbackMethod');
Chris@0 45
Chris@0 46 $this->beConstructedWith($firstArgumentCallback);
Chris@0 47
Chris@0 48 $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one');
Chris@0 49 }
Chris@0 50
Chris@0 51 function it_should_execute_string_function_callback(ObjectProphecy $object, MethodProphecy $method)
Chris@0 52 {
Chris@0 53 $firstArgumentCallback = 'spec\Prophecy\Promise\functionCallbackFirstArgument';
Chris@0 54
Chris@0 55 $this->beConstructedWith($firstArgumentCallback);
Chris@0 56
Chris@0 57 $this->execute(array('one', 'two'), $object, $method)->shouldReturn('one');
Chris@0 58 }
Chris@0 59
Chris@0 60 }
Chris@0 61
Chris@0 62 /**
Chris@0 63 * Class used to test callbackpromise
Chris@0 64 *
Chris@0 65 * @param array
Chris@0 66 * @return string
Chris@0 67 */
Chris@0 68 class ClassCallback
Chris@0 69 {
Chris@0 70 /**
Chris@0 71 * @param array $args
Chris@0 72 */
Chris@0 73 function callbackMethod($args)
Chris@0 74 {
Chris@0 75 return $args[0];
Chris@0 76 }
Chris@0 77
Chris@0 78 /**
Chris@0 79 * @param array $args
Chris@0 80 */
Chris@0 81 static function staticCallbackMethod($args)
Chris@0 82 {
Chris@0 83 return $args[0];
Chris@0 84 }
Chris@0 85 }
Chris@0 86
Chris@0 87 /**
Chris@0 88 * Callback function used to test callbackpromise
Chris@0 89 *
Chris@0 90 * @param array
Chris@0 91 * @return string
Chris@0 92 */
Chris@0 93 function functionCallbackFirstArgument($args)
Chris@0 94 {
Chris@0 95 return $args[0];
Chris@0 96 }