summaryrefslogtreecommitdiff
path: root/vendor/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php')
-rw-r--r--vendor/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php140
1 files changed, 140 insertions, 0 deletions
diff --git a/vendor/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php b/vendor/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php
new file mode 100644
index 000000000..013d1de81
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php
@@ -0,0 +1,140 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <[email protected]>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Util\TestDox;
+
+use function sprintf;
+use PHPUnit\Framework\TestResult;
+
+/**
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class HtmlResultPrinter extends ResultPrinter
+{
+ /**
+ * @var string
+ */
+ private const PAGE_HEADER = <<<'EOT'
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8"/>
+ <title>Test Documentation</title>
+ <style>
+ body {
+ text-rendering: optimizeLegibility;
+ font-variant-ligatures: common-ligatures;
+ font-kerning: normal;
+ margin-left: 2em;
+ background-color: #ffffff;
+ color: #000000;
+ }
+
+ body > ul > li {
+ font-family: Source Serif Pro, PT Sans, Trebuchet MS, Helvetica, Arial;
+ font-size: 2em;
+ }
+
+ h2 {
+ font-family: Tahoma, Helvetica, Arial;
+ font-size: 3em;
+ }
+
+ ul {
+ list-style: none;
+ margin-bottom: 1em;
+ }
+ </style>
+ </head>
+ <body>
+EOT;
+
+ /**
+ * @var string
+ */
+ private const CLASS_HEADER = <<<'EOT'
+
+ <h2 id="%s">%s</h2>
+ <ul>
+
+EOT;
+
+ /**
+ * @var string
+ */
+ private const CLASS_FOOTER = <<<'EOT'
+ </ul>
+EOT;
+
+ /**
+ * @var string
+ */
+ private const PAGE_FOOTER = <<<'EOT'
+
+ </body>
+</html>
+EOT;
+
+ public function printResult(TestResult $result): void
+ {
+ }
+
+ /**
+ * Handler for 'start run' event.
+ */
+ protected function startRun(): void
+ {
+ $this->write(self::PAGE_HEADER);
+ }
+
+ /**
+ * Handler for 'start class' event.
+ */
+ protected function startClass(string $name): void
+ {
+ $this->write(
+ sprintf(
+ self::CLASS_HEADER,
+ $name,
+ $this->currentTestClassPrettified
+ )
+ );
+ }
+
+ /**
+ * Handler for 'on test' event.
+ */
+ protected function onTest(string $name, bool $success = true): void
+ {
+ $this->write(
+ sprintf(
+ " <li style=\"color: %s;\">%s %s</li>\n",
+ $success ? '#555753' : '#ef2929',
+ $success ? '✓' : '❌',
+ $name
+ )
+ );
+ }
+
+ /**
+ * Handler for 'end class' event.
+ */
+ protected function endClass(string $name): void
+ {
+ $this->write(self::CLASS_FOOTER);
+ }
+
+ /**
+ * Handler for 'end run' event.
+ */
+ protected function endRun(): void
+ {
+ $this->write(self::PAGE_FOOTER);
+ }
+}