Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4141023
TestFailure.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
TestFailure.php
View Options
<?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
function
get_class
;
use
function
sprintf
;
use
function
trim
;
use
PHPUnit\Framework\Error\Error
;
use
Throwable
;
/**
* @internal This class is not covered by the backward compatibility promise for PHPUnit
*/
final
class
TestFailure
{
/**
* @var null|Test
*/
private
$failedTest
;
/**
* @var Throwable
*/
private
$thrownException
;
/**
* @var string
*/
private
$testName
;
/**
* Returns a description for an exception.
*/
public
static
function
exceptionToString
(
Throwable
$e
):
string
{
if
(
$e
instanceof
SelfDescribing
)
{
$buffer
=
$e
->
toString
();
if
(
$e
instanceof
ExpectationFailedException
&&
$e
->
getComparisonFailure
())
{
$buffer
.=
$e
->
getComparisonFailure
()->
getDiff
();
}
if
(
$e
instanceof
PHPTAssertionFailedError
)
{
$buffer
.=
$e
->
getDiff
();
}
if
(!
empty
(
$buffer
))
{
$buffer
=
trim
(
$buffer
)
.
"
\n
"
;
}
return
$buffer
;
}
if
(
$e
instanceof
Error
)
{
return
$e
->
getMessage
()
.
"
\n
"
;
}
if
(
$e
instanceof
ExceptionWrapper
)
{
return
$e
->
getClassName
()
.
': '
.
$e
->
getMessage
()
.
"
\n
"
;
}
return
get_class
(
$e
)
.
': '
.
$e
->
getMessage
()
.
"
\n
"
;
}
/**
* Constructs a TestFailure with the given test and exception.
*/
public
function
__construct
(
Test
$failedTest
,
Throwable
$t
)
{
if
(
$failedTest
instanceof
SelfDescribing
)
{
$this
->
testName
=
$failedTest
->
toString
();
}
else
{
$this
->
testName
=
get_class
(
$failedTest
);
}
if
(!
$failedTest
instanceof
TestCase
||
!
$failedTest
->
isInIsolation
())
{
$this
->
failedTest
=
$failedTest
;
}
$this
->
thrownException
=
$t
;
}
/**
* Returns a short description of the failure.
*/
public
function
toString
():
string
{
return
sprintf
(
'%s: %s'
,
$this
->
testName
,
$this
->
thrownException
->
getMessage
(),
);
}
/**
* Returns a description for the thrown exception.
*/
public
function
getExceptionAsString
():
string
{
return
self
::
exceptionToString
(
$this
->
thrownException
);
}
/**
* Returns the name of the failing test (including data set, if any).
*/
public
function
getTestName
():
string
{
return
$this
->
testName
;
}
/**
* Returns the failing test.
*
* Note: The test object is not set when the test is executed in process
* isolation.
*
* @see Exception
*/
public
function
failedTest
():
?
Test
{
return
$this
->
failedTest
;
}
/**
* Gets the thrown exception.
*/
public
function
thrownException
():
Throwable
{
return
$this
->
thrownException
;
}
/**
* Returns the exception's message.
*/
public
function
exceptionMessage
():
string
{
return
$this
->
thrownException
()->
getMessage
();
}
/**
* Returns true if the thrown exception
* is of type AssertionFailedError.
*/
public
function
isFailure
():
bool
{
return
$this
->
thrownException
()
instanceof
AssertionFailedError
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Wed, Aug 19, 15:46 (3 w, 6 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
68/cc/c7c2c83f9fb32393b0920b8e9a18
Default Alt Text
TestFailure.php (3 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment