1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
<?php
declare(strict_types=1);
/*
* This file is part of the league/commonmark package.
*
* (c) Colin O'Dell <colinodell@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace League\CommonMark\Tests\Unit\Util;
use League\CommonMark\Exception\InvalidArgumentException;
use League\CommonMark\Util\HtmlFilter;
use PHPUnit\Framework\TestCase;
final class HtmlFilterTest extends TestCase
{
public function testFilterAllow(): void
{
$html = 'This is a test of <script>alert("XSS")</script>';
$expected = $html;
$this->assertSame($expected, HtmlFilter::filter($html, HtmlFilter::ALLOW));
}
public function testFilterStrip(): void
{
$html = 'This is a test of <script>alert("XSS")</script>!';
$expected = '';
$this->assertSame($expected, HtmlFilter::filter($html, HtmlFilter::STRIP));
}
public function testFilterEscape(): void
{
$html = 'This is a test of <script>alert("XSS")</script>';
$expected = 'This is a test of <script>alert("XSS")</script>';
$this->assertSame($expected, HtmlFilter::filter($html, HtmlFilter::ESCAPE));
}
public function testInvalidFilter(): void
{
$this->expectException(InvalidArgumentException::class);
HtmlFilter::filter('', 'some-made-up-option');
}
}
|