<?php
/*
* This file is part of Chevere.
*
* (c) Rodolfo Berrios <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Chevere\Tests\Formats;
use Chevere\VarDump\Formats\HtmlFormat;
use Chevere\VarDump\Interfaces\HighlightInterface;
use PHPUnit\Framework\TestCase;
final class HtmlFormatTest extends TestCase
{
/**
* @dataProvider provideIndent
*/
public function testIndent(int $indent): void
{
$prefix = HtmlFormat::HTML_INLINE_PREFIX;
$indented = (new HtmlFormat())->indent($indent);
$stripped = strip_tags($indented);
$expected = str_repeat(' ', $indent);
$this->assertSame($expected, $stripped);
}
public function provideIndent(): array
{
return [
[0],
[10],
[100],
];
}
public function testEmphasis(): void
{
$string = 'string';
$emphasized = (new HtmlFormat())->emphasis($string);
$this->assertTrue(strlen($emphasized) > strlen($string));
}
public function testFilterEncodedChars(): void
{
$string = 'string</a>';
$filtered = (new HtmlFormat())->filterEncodedChars($string);
$this->assertTrue(strlen($filtered) > strlen($string));
}
public function testHighlight(): void
{
$string = 'string';
$highlighted = (new HtmlFormat())
->highlight(HighlightInterface::KEYS[0], $string);
$this->assertTrue(strlen($highlighted) > strlen($string));
}
public function testDetailsOpen(): void
{
$this->assertStringContainsString(
'<details ',
(new HtmlFormat())->detailsOpen(true)
);
$this->assertStringContainsString(
' open>',
(new HtmlFormat())->detailsOpen(true)
);
}
public function testDetailsClose(): void
{
$this->assertSame(
'</details>',
(new HtmlFormat())->detailsClose()
);
}
}
|