Вход Регистрация
Файл: gapps/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php
Строк: 74
<?php

namespace specProphecyPromise;

use 
PhpSpecObjectBehavior;
use 
ProphecyProphecyMethodProphecy;
use 
ProphecyProphecyObjectProphecy;

class 
CallbackPromiseSpec extends ObjectBehavior
{
    function 
let()
    {
        
$this->beConstructedWith('get_class');
    }

    function 
it_is_promise()
    {
        
$this->shouldBeAnInstanceOf('ProphecyPromisePromiseInterface');
    }

    function 
it_should_execute_closure_callback(ObjectProphecy $objectMethodProphecy $method)
    {
        
$firstArgumentCallback = function ($args) {
            return 
$args[0];
        };

        
$this->beConstructedWith($firstArgumentCallback);

        
$this->execute(array('one''two'), $object$method)->shouldReturn('one');
    }

    function 
it_should_execute_static_array_callback(ObjectProphecy $objectMethodProphecy $method)
    {
        
$firstArgumentCallback = array('specProphecyPromiseClassCallback''staticCallbackMethod');

        
$this->beConstructedWith($firstArgumentCallback);

        
$this->execute(array('one''two'), $object$method)->shouldReturn('one');
    }

    function 
it_should_execute_instance_array_callback(ObjectProphecy $objectMethodProphecy $method)
    {
        
$class = new ClassCallback();
        
$firstArgumentCallback = array($class'callbackMethod');

        
$this->beConstructedWith($firstArgumentCallback);

        
$this->execute(array('one''two'), $object$method)->shouldReturn('one');
    }

    function 
it_should_execute_string_function_callback(ObjectProphecy $objectMethodProphecy $method)
    {
        
$firstArgumentCallback 'specProphecyPromisefunctionCallbackFirstArgument';

        
$this->beConstructedWith($firstArgumentCallback);

        
$this->execute(array('one''two'), $object$method)->shouldReturn('one');
    }

}

/**
 * Class used to test callbackpromise
 *
 * @param array
 * @return string
 */
class ClassCallback
{
    
/**
     * @param array $args
     */
    
function callbackMethod($args)
    {
        return 
$args[0];
    }

    
/**
     * @param array $args
     */
    
static function staticCallbackMethod($args)
    {
        return 
$args[0];
    }
}

/**
 * Callback function used to test callbackpromise
 *
 * @param array
 * @return string
 */
function functionCallbackFirstArgument($args)
{
    return 
$args[0];
}
Онлайн: 0
Реклама