PortableInfobox/tests/phpunit/sanitizers/NodeTitleSanitizerTest.php
2018-08-16 11:25:53 +02:00

61 lines
1.9 KiB
PHP

<?php
use PortableInfobox\Sanitizers\SanitizerBuilder;
/**
* @group PortableInfobox
* @covers PortableInfobox\Sanitizers\NodeSanitizer
* @covers PortableInfobox\Sanitizers\NodeTitleSanitizer
*/
class NodeTitleSanitizerTest extends MediaWikiTestCase {
/** @var PortableInfobox\Sanitizers\NodeTitleSanitizer $sanitizer */
private $sanitizer;
protected function setUp() {
$this->sanitizer = SanitizerBuilder::createFromType( 'title' );
parent::setUp();
}
protected function tearDown() {
unset( $sanitizer );
parent::tearDown();
}
/**
* @param $data
* @param $expected
* @dataProvider sanitizeDataProvider
*/
public function testSanitize( $data, $expected ) {
$this->assertEquals(
$expected,
$this->sanitizer->sanitize( $data )
);
}
public function sanitizeDataProvider() {
return [
[
[ 'value' => 'Test Title' ],
[ 'value' => 'Test Title' ]
],
[
[ 'value' => ' Test Title ' ],
[ 'value' => 'Test Title' ]
],
[
[ 'value' => 'Test Title <img src=\'data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D\' class=\'article-media\' data-ref=\'1\' width=\'400\' height=\'100\' /> ' ],
[ 'value' => 'Test Title' ]
],
[
[ 'value' => 'Test Title <a href="example.com">with link</a>' ],
[ 'value' => 'Test Title with link' ]
],
[
[ 'value' => 'Real world <a href="http://vignette-poz.wikia-dev.com/mediawiki116/images/b/b6/DBGT_Logo.svg/revision/latest?cb=20150601155347" class="image image-thumbnail" ><img src="http://vignette-poz.wikia-dev.com/mediawiki116/images/b/b6/DBGT_Logo.svg/revision/latest/scale-to-width-down/30?cb=20150601155347" alt="DBGT Logo" class="" data-image-key="DBGT_Logo.svg" data-image-name="DBGT Logo.svg" width="30" height="18" ></a>title example' ],
[ 'value' => 'Real world title example' ]
],
];
}
}