You are here

RejectionExceptionTest.php in Zircon Profile 8

Same filename and directory in other branches
  1. 8.0 vendor/guzzlehttp/promises/tests/RejectionExceptionTest.php

File

vendor/guzzlehttp/promises/tests/RejectionExceptionTest.php
View source
<?php

namespace GuzzleHttp\Promise\Tests;

use GuzzleHttp\Promise\RejectionException;
class Thing1 {
  public function __construct($message) {
    $this->message = $message;
  }
  public function __toString() {
    return $this->message;
  }

}
class Thing2 implements \JsonSerializable {
  public function jsonSerialize() {
    return '{}';
  }

}

/**
 * @covers GuzzleHttp\Promise\RejectionException
 */
class RejectionExceptionTest extends \PHPUnit_Framework_TestCase {
  public function testCanGetReasonFromException() {
    $thing = new Thing1('foo');
    $e = new RejectionException($thing);
    $this
      ->assertSame($thing, $e
      ->getReason());
    $this
      ->assertEquals('The promise was rejected with reason: foo', $e
      ->getMessage());
  }
  public function testCanGetReasonMessageFromJson() {
    $reason = new Thing2();
    $e = new RejectionException($reason);
    $this
      ->assertContains("{}", $e
      ->getMessage());
  }

}