test that preloaded text is unstripped
authorAntoine Musso <hashar@users.mediawiki.org>
Mon, 24 Oct 2011 10:51:46 +0000 (10:51 +0000)
committerAntoine Musso <hashar@users.mediawiki.org>
Mon, 24 Oct 2011 10:51:46 +0000 (10:51 +0000)
bug 27467 reported our preloaded system did not unstrip <nowiki>
or <pre> enclosed text. The fix was applied by r82473.

tests/phpunit/includes/parser/ParserPreloadTest.php [new file with mode: 0644]

diff --git a/tests/phpunit/includes/parser/ParserPreloadTest.php b/tests/phpunit/includes/parser/ParserPreloadTest.php
new file mode 100644 (file)
index 0000000..0e8ef53
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+/**
+ * Basic tests for Parser::getPreloadText
+ * @author Antoine Musso
+ */
+class ParserPreloadTest extends MediaWikiTestCase {
+       private $testParser;
+       private $testParserOptions;
+       private $title;
+
+       function setUp() {
+               $this->testParserOptions = new ParserOptions();
+
+               $this->testParser = new Parser();
+               $this->testParser->Options( $this->testParserOptions );
+               $this->testParser->clearState();
+
+               $this->title = Title::newFromText( 'Preload Test' );
+       }
+
+       function tearDown() {
+               unset( $this->testParser );
+               unset( $this->title );
+       }
+
+       /**
+        * @covers Parser::getPreloadText
+        */
+       function testPreloadSimpleText() {
+               $this->assertPreloaded( 'simple', 'simple' );
+       }
+
+       /**
+        * @covers Parser::getPreloadText
+        */
+       function testPreloadedPreIsUnstripped() {
+               $this->assertPreloaded(
+                       '<pre>monospaced</pre>',
+                       '<pre>monospaced</pre>',
+                       '<pre> in preloaded text must be unstripped (bug 27467)'
+               );
+       }
+
+       /**
+        * @covers Parser::getPreloadText
+        */
+       function testPreloadedNowikiIsUnstripped() {
+               $this->assertPreloaded(
+                       '<nowiki>[[Dummy title]]</nowiki>',
+                       '<nowiki>[[Dummy title]]</nowiki>',
+                       '<nowiki> in preloaded text must be unstripped (bug 27467)'
+               );
+       }
+
+       function assertPreloaded( $expected, $text, $msg='') {
+               $this->assertEquals(
+                       $expected,
+                       $this->testParser->getPreloadText(
+                               $text,
+                               $this->title,
+                               $this->testParserOptions
+                       ),
+                       $msg
+               );
+       }
+
+}