Version 1
[yaffs-website] / vendor / phpunit / phpunit / src / Framework / TestFailure.php
diff --git a/vendor/phpunit/phpunit/src/Framework/TestFailure.php b/vendor/phpunit/phpunit/src/Framework/TestFailure.php
new file mode 100644 (file)
index 0000000..ef3d9cb
--- /dev/null
@@ -0,0 +1,167 @@
+<?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);
+    }
+}