webshell
Ghost Exploiter Team Official
Mass Deface
Directory >>
/
home
/
whitjouh
/
public_html
/
core
/
vendor
/
phpunit
/
phpunit
/
src
/
Logging
/
TestDox
/
Mass Deface Auto Detect Domain
/*Ubah Ke document_root untuk mass deface*/
File / Folder
Size
Action
.
-
+New File
TestResult
--
ren
HtmlRenderer.php
3.548KB
edt
ren
NamePrettifier.php
8.507KB
edt
ren
PlainTextRenderer.php
1.886KB
edt
ren
<?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\Logging\TestDox; use function sprintf; /** * @internal This class is not covered by the backward compatibility promise for PHPUnit */ final class HtmlRenderer { /** * @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-family: Source SansSerif Pro, Arial, sans-serif; font-variant-ligatures: common-ligatures; font-kerning: normal; margin-left: 2rem; background-color: #fff; color: #000; } body > ul > li { font-size: larger; } h2 { font-size: larger; text-decoration-line: underline; text-decoration-thickness: 2px; margin: 0; padding: 0.5rem 0; } ul { list-style: none; margin: 0 0 2rem; padding: 0 0 0 1rem; text-indent: -1rem; } .success:before { color: #4e9a06; content: '✓'; padding-right: 0.5rem; } .defect { color: #a40000; } .defect:before { color: #a40000; content: '✗'; padding-right: 0.5rem; } </style> </head> <body> EOT; /** * @var string */ private const CLASS_HEADER = <<<'EOT' <h2>%s</h2> <ul> EOT; /** * @var string */ private const CLASS_FOOTER = <<<'EOT' </ul> EOT; /** * @var string */ private const PAGE_FOOTER = <<<'EOT' </body> </html> EOT; /** * @psalm-param array<string, TestResultCollection> $tests */ public function render(array $tests): string { $buffer = self::PAGE_HEADER; foreach ($tests as $prettifiedClassName => $_tests) { $buffer .= sprintf( self::CLASS_HEADER, $prettifiedClassName, ); foreach ($this->reduce($_tests) as $prettifiedMethodName => $outcome) { $buffer .= sprintf( " <li class=\"%s\">%s</li>\n", $outcome, $prettifiedMethodName, ); } $buffer .= self::CLASS_FOOTER; } return $buffer . self::PAGE_FOOTER; } /** * @psalm-return array<string, 'success'|'defect'> */ private function reduce(TestResultCollection $tests): array { $result = []; foreach ($tests as $test) { $prettifiedMethodName = $test->test()->testDox()->prettifiedMethodName(); if (!isset($result[$prettifiedMethodName])) { $result[$prettifiedMethodName] = $test->status()->isSuccess() ? 'success' : 'defect'; continue; } if ($test->status()->isSuccess()) { continue; } $result[$prettifiedMethodName] = 'defect'; } return $result; } }