TestFailure.php in Zircon Profile 8
Same filename and directory in other branches
File
vendor/phpunit/phpunit/src/Framework/TestFailure.phpView source
<?php
/*
* 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.
*/
/**
* A TestFailure collects a failed test together with the caught exception.
*
* @since Class available since Release 2.0.0
*/
class PHPUnit_Framework_TestFailure {
/**
* @var string
*/
private $testName;
/**
* @var PHPUnit_Framework_Test|null
*/
protected $failedTest;
/**
* @var Exception
*/
protected $thrownException;
/**
* Constructs a TestFailure with the given test and exception.
*
* @param PHPUnit_Framework_Test $failedTest
* @param Exception $thrownException
*/
public function __construct(PHPUnit_Framework_Test $failedTest, Exception $thrownException) {
if ($failedTest instanceof PHPUnit_Framework_SelfDescribing) {
$this->testName = $failedTest
->toString();
}
else {
$this->testName = get_class($failedTest);
}
if (!$failedTest instanceof PHPUnit_Framework_TestCase || !$failedTest
->isInIsolation()) {
$this->failedTest = $failedTest;
}
$this->thrownException = $thrownException;
}
/**
* Returns a short description of the failure.
*
* @return string
*/
public function toString() {
return sprintf('%s: %s', $this->testName, $this->thrownException
->getMessage());
}
/**
* Returns a description for the thrown exception.
*
* @return string
* @since Method available since Release 3.4.0
*/
public function getExceptionAsString() {
return self::exceptionToString($this->thrownException);
}
/**
* Returns a description for an exception.
*
* @param Exception $e
* @return string
* @since Method available since Release 3.2.0
*/
public static function exceptionToString(Exception $e) {
if ($e instanceof PHPUnit_Framework_SelfDescribing) {
$buffer = $e
->toString();
if ($e instanceof PHPUnit_Framework_ExpectationFailedException && $e
->getComparisonFailure()) {
$buffer = $buffer . $e
->getComparisonFailure()
->getDiff();
}
if (!empty($buffer)) {
$buffer = trim($buffer) . "\n";
}
}
elseif ($e instanceof PHPUnit_Framework_Error) {
$buffer = $e
->getMessage() . "\n";
}
elseif ($e instanceof PHPUnit_Framework_ExceptionWrapper) {
$buffer = $e
->getClassname() . ': ' . $e
->getMessage() . "\n";
}
else {
$buffer = get_class($e) . ': ' . $e
->getMessage() . "\n";
}
return $buffer;
}
/**
* Returns the name of the failing test (including data set, if any).
*
* @return string
* @since Method available since Release 4.3.0
*/
public function getTestName() {
return $this->testName;
}
/**
* Returns the failing test.
*
* Note: The test object is not set when the test is executed in process
* isolation.
*
* @see PHPUnit_Framework_Exception
*
* @return PHPUnit_Framework_Test|null
*/
public function failedTest() {
return $this->failedTest;
}
/**
* Gets the thrown exception.
*
* @return Exception
*/
public function thrownException() {
return $this->thrownException;
}
/**
* Returns the exception's message.
*
* @return string
*/
public function exceptionMessage() {
return $this
->thrownException()
->getMessage();
}
/**
* Returns true if the thrown exception
* is of type AssertionFailedError.
*
* @return bool
*/
public function isFailure() {
return $this
->thrownException() instanceof PHPUnit_Framework_AssertionFailedError;
}
}
Classes
Name | Description |
---|---|
PHPUnit_Framework_TestFailure | A TestFailure collects a failed test together with the caught exception. |