You are here

CallbackPromiseSpec.php in Zircon Profile 8.0

File

vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php
View source
<?php

namespace spec\Prophecy\Promise;

use PhpSpec\ObjectBehavior;
class CallbackPromiseSpec extends ObjectBehavior {
  function let() {
    $this
      ->beConstructedWith('get_class');
  }
  function it_is_promise() {
    $this
      ->shouldBeAnInstanceOf('Prophecy\\Promise\\PromiseInterface');
  }

  /**
   * @param \Prophecy\Prophecy\ObjectProphecy $object
   * @param \Prophecy\Prophecy\MethodProphecy $method
   */
  function it_should_execute_closure_callback($object, $method) {
    $firstArgumentCallback = function ($args) {
      return $args[0];
    };
    $this
      ->beConstructedWith($firstArgumentCallback);
    $this
      ->execute(array(
      'one',
      'two',
    ), $object, $method)
      ->shouldReturn('one');
  }

  /**
   * @param \Prophecy\Prophecy\ObjectProphecy $object
   * @param \Prophecy\Prophecy\MethodProphecy $method
   */
  function it_should_execute_static_array_callback($object, $method) {
    $firstArgumentCallback = array(
      'spec\\Prophecy\\Promise\\ClassCallback',
      'staticCallbackMethod',
    );
    $this
      ->beConstructedWith($firstArgumentCallback);
    $this
      ->execute(array(
      'one',
      'two',
    ), $object, $method)
      ->shouldReturn('one');
  }

  /**
   * @param \Prophecy\Prophecy\ObjectProphecy $object
   * @param \Prophecy\Prophecy\MethodProphecy $method
   */
  function it_should_execute_instance_array_callback($object, $method) {
    $class = new ClassCallback();
    $firstArgumentCallback = array(
      $class,
      'callbackMethod',
    );
    $this
      ->beConstructedWith($firstArgumentCallback);
    $this
      ->execute(array(
      'one',
      'two',
    ), $object, $method)
      ->shouldReturn('one');
  }

  /**
   * @param \Prophecy\Prophecy\ObjectProphecy $object
   * @param \Prophecy\Prophecy\MethodProphecy $method
   */
  function it_should_execute_string_function_callback($object, $method) {
    $firstArgumentCallback = 'spec\\Prophecy\\Promise\\functionCallbackFirstArgument';
    $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];
}

Functions

Namesort descending Description
functionCallbackFirstArgument Callback function used to test callbackpromise

Classes

Namesort descending Description
CallbackPromiseSpec
ClassCallback Class used to test callbackpromise