48 lines
1,003 B
PHP
48 lines
1,003 B
PHP
<?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());
|
|
}
|
|
}
|