+ /**
+ * @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
+ }
+