diff options
Diffstat (limited to 'tests/phpunit/includes/HtmlFormatterTest.php')
-rw-r--r-- | tests/phpunit/includes/HtmlFormatterTest.php | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/tests/phpunit/includes/HtmlFormatterTest.php b/tests/phpunit/includes/HtmlFormatterTest.php deleted file mode 100644 index a37df74f..00000000 --- a/tests/phpunit/includes/HtmlFormatterTest.php +++ /dev/null @@ -1,81 +0,0 @@ -<?php - -/** - * @group HtmlFormatter - */ -class HtmlFormatterTest extends MediaWikiTestCase { - /** - * @dataProvider getHtmlData - */ - public function testTransform( $input, $expected, $callback = false ) { - $input = self::normalize( $input ); - $formatter = new HtmlFormatter( HtmlFormatter::wrapHTML( $input ) ); - if ( $callback ) { - $callback( $formatter ); - } - $formatter->filterContent(); - $html = $formatter->getText(); - $this->assertEquals( self::normalize( $expected ), self::normalize( $html ) ); - } - - private static function normalize( $s ) { - return str_replace( "\n", '', - str_replace( "\r", '', $s ) // "yay" to Windows! - ); - } - - public function getHtmlData() { - $removeImages = function( HtmlFormatter $f ) { - $f->setRemoveMedia(); - }; - $removeTags = function( HtmlFormatter $f ) { - $f->remove( array( 'table', '.foo', '#bar', 'div.baz' ) ); - }; - $flattenSomeStuff = function( HtmlFormatter $f ) { - $f->flatten( array( 's', 'div' ) ); - }; - $flattenEverything = function( HtmlFormatter $f ) { - $f->flattenAllTags(); - }; - return array( - // remove images if asked - array( - '<img src="/foo/bar.jpg" alt="Blah"/>', - '', - $removeImages, - ), - // basic tag removal - array( - '<table><tr><td>foo</td></tr></table><div class="foo">foo</div><div class="foo quux">foo</div><span id="bar">bar</span> -<strong class="foo" id="bar">foobar</strong><div class="notfoo">test</div><div class="baz"/> -<span class="baz">baz</span>', - - '<div class="notfoo">test</div> -<span class="baz">baz</span>', - $removeTags, - ), - // don't flatten tags that start like chosen ones - array( - '<div><s>foo</s> <span>bar</span></div>', - 'foo <span>bar</span>', - $flattenSomeStuff, - ), - // total flattening - array( - '<div style="foo">bar<sup>2</sup></div>', - 'bar2', - $flattenEverything, - ), - // UTF-8 preservation and security - array( - '<span title="" \' &"><Тест!></span> &<&&&&', - '<span title="" \' &"><Тест!></span> &<&&&&', - ), - // https://bugzilla.wikimedia.org/show_bug.cgi?id=53086 - array( - 'Foo<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup> <a href="/wiki/Bar" title="Bar" class="mw-redirect">Bar</a>', - 'Foo<sup id="cite_ref-1" class="reference"><a href="#cite_note-1">[1]</a></sup> <a href="/wiki/Bar" title="Bar" class="mw-redirect">Bar</a>', - ), - ); - } -} |