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 53 54 55 56 57 58 59 60 61
|
<?php
namespace Wikimedia\Tests;
use HtmlArmor;
use MediaWikiCoversValidator;
use PHPUnit\Framework\TestCase;
/**
* @covers \HtmlArmor
*/
class HtmlArmorTest extends TestCase {
use MediaWikiCoversValidator;
public static function provideConstructor() {
return [
[ 'test' ],
[ null ],
[ '<em>some html!</em>' ]
];
}
/**
* @dataProvider provideConstructor
*/
public function testConstructor( $value ) {
$this->assertInstanceOf( HtmlArmor::class, new HtmlArmor( $value ) );
}
public static function provideGetHtml() {
return [
[
'foobar',
'foobar',
],
[
'<script>alert("evil!");</script>',
'<script>alert("evil!");</script>',
],
[
new HtmlArmor( '<script>alert("evil!");</script>' ),
'<script>alert("evil!");</script>',
],
[
new HtmlArmor( null ),
null,
]
];
}
/**
* @dataProvider provideGetHtml
*/
public function testGetHtml( $input, $expected ) {
$this->assertEquals(
$expected,
HtmlArmor::getHtml( $input )
);
}
}
|