1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
<?php declare(strict_types=1);
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework;
use PHPUnit\Framework\Error\Error;
use PHPUnit\TestFixture\NotSelfDescribingTest;
use SebastianBergmann\Comparator\ComparisonFailure;
/**
* @small
*/
final class TestFailureTest extends TestCase
{
public function testToString(): void
{
$test = new self(__FUNCTION__);
$exception = new Exception('message');
$failure = new TestFailure($test, $exception);
$this->assertEquals(__METHOD__ . ': message', $failure->toString());
}
public function testToStringForError(): void
{
$test = new self(__FUNCTION__);
$exception = new \Error('message');
$failure = new TestFailure($test, $exception);
$this->assertEquals(__METHOD__ . ': message', $failure->toString());
}
public function testToStringForNonSelfDescribing(): void
{
$test = new NotSelfDescribingTest();
$exception = new Exception('message');
$failure = new TestFailure($test, $exception);
$this->assertEquals('PHPUnit\TestFixture\NotSelfDescribingTest: message', $failure->toString());
}
public function testgetExceptionAsString(): void
{
$test = new self(__FUNCTION__);
$exception = new \Error('message');
$failure = new TestFailure($test, $exception);
$this->assertEquals("Error: message\n", $failure->getExceptionAsString());
}
public function testExceptionToString(): void
{
$exception = new AssertionFailedError('message');
$this->assertEquals("message\n", TestFailure::exceptionToString($exception));
}
public function testExceptionToStringForExpectationFailedException(): void
{
$exception = new ExpectationFailedException('message');
$this->assertEquals("message\n", TestFailure::exceptionToString($exception));
}
public function testExceptionToStringForExpectationFailedExceptionWithComparisonFailure(): void
{
$exception = new ExpectationFailedException('message', new ComparisonFailure('expected', 'actual', 'expected', 'actual'));
$this->assertEquals("message\n--- Expected\n+++ Actual\n@@ @@\n-expected\n+actual\n", TestFailure::exceptionToString($exception));
}
public function testExceptionToStringForFrameworkError(): void
{
$exception = new Error('message', 0, 'file', 1);
$this->assertEquals("message\n", TestFailure::exceptionToString($exception));
}
public function testExceptionToStringForExceptionWrapper(): void
{
$exception = new ExceptionWrapper(new \Error('message'));
$this->assertEquals("Error: message\n", TestFailure::exceptionToString($exception));
}
public function testGetTestName(): void
{
$test = new self(__FUNCTION__);
$exception = new Exception('message');
$failure = new TestFailure($test, $exception);
$this->assertEquals($this->toString(), $failure->getTestName());
}
public function testFailedTest(): void
{
$test = new self(__FUNCTION__);
$exception = new Exception('message');
$failure = new TestFailure($test, $exception);
$this->assertEquals($test, $failure->failedTest());
}
public function testThrownException(): void
{
$test = new self(__FUNCTION__);
$exception = new Exception('message');
$failure = new TestFailure($test, $exception);
$this->assertEquals($exception, $failure->thrownException());
}
public function testExceptionMessage(): void
{
$test = new self(__FUNCTION__);
$exception = new Exception('message');
$failure = new TestFailure($test, $exception);
$this->assertEquals('message', $failure->exceptionMessage());
}
public function testIsFailure(): void
{
$test = new self(__FUNCTION__);
$exception = new ExpectationFailedException('message');
$failure = new TestFailure($test, $exception);
$this->assertTrue($failure->isFailure());
}
public function testIsFailureFalse(): void
{
$test = new self(__FUNCTION__);
$exception = new Warning('message');
$failure = new TestFailure($test, $exception);
$this->assertFalse($failure->isFailure());
}
}
|