PHPUnit: Added test for unknown tags
authorgeorggi <bmp2558@gmail.com>
Tue, 5 Jan 2016 12:02:03 +0000 (14:02 +0200)
committergeorggi <bmp2558@gmail.com>
Tue, 5 Jan 2016 14:12:02 +0000 (16:12 +0200)
Bug: T43938
Change-Id: Idcb1576db39cc1d925207a37b4f22b40d76fea8b

tests/phpunit/includes/import/ImportTest.php

index 9c22430..f4aac23 100644 (file)
@@ -13,6 +13,66 @@ class ImportTest extends MediaWikiLangTestCase {
                return new ImportStringSource( $xml );
        }
 
+       /**
+        * @covers WikiImporter
+        * @dataProvider getUnknownTagsXML
+        * @param string $xml
+        * @param string $text
+        * @param string $title
+        */
+       public function testUnknownXMLTags( $xml, $text, $title ) {
+               $source = $this->getDataSource( $xml );
+
+               $importer = new WikiImporter(
+                       $source,
+                       ConfigFactory::getDefaultInstance()->makeConfig( 'main' )
+               );
+
+               $importer->doImport();
+               $title = Title::newFromText( $title );
+               $this->assertTrue( $title->exists() );
+
+               $this->assertEquals( WikiPage::factory( $title )->getContent()->getNativeData(), $text );
+       }
+
+       public function getUnknownTagsXML() {
+               // @codingStandardsIgnoreStart Generic.Files.LineLength
+               return array(
+                       array(
+                               <<< EOF
+<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.10/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.10/ http://www.mediawiki.org/xml/export-0.10.xsd" version="0.10" xml:lang="en">
+  <page unknown="123" dontknow="533">
+    <title>TestImportPage</title>
+    <unknowntag>Should be ignored</unknowntag>
+    <ns>0</ns>
+    <id unknown="123" dontknow="533">14</id>
+    <revision>
+      <id unknown="123" dontknow="533">15</id>
+      <unknowntag>Should be ignored</unknowntag>
+      <timestamp>2016-01-03T11:18:43Z</timestamp>
+      <contributor>
+        <unknowntag>Should be ignored</unknowntag>
+        <username unknown="123" dontknow="533">Admin</username>
+        <id>1</id>
+      </contributor>
+      <model>wikitext</model>
+      <format>text/x-wiki</format>
+      <text xml:space="preserve" bytes="0">noitazinagro tseb eht si ikiWaideM</text>
+      <sha1>phoiac9h4m842xq45sp7s6u21eteeq1</sha1>
+      <unknowntag>Should be ignored</unknowntag>
+    </revision>
+  </page>
+  <unknowntag>Should be ignored</unknowntag>
+</mediawiki>
+EOF
+                               ,
+                               'noitazinagro tseb eht si ikiWaideM',
+                               'TestImportPage'
+                       )
+               );
+               // @codingStandardsIgnoreEnd
+       }
+
        /**
         * @covers WikiImporter::handlePage
         * @dataProvider getRedirectXML