4 * Test class for Export methods.
8 * @author Isaac Hutt <mhutti1@gmail.com>
10 class ExportTest
extends MediaWikiLangTestCase
{
12 protected function setUp() {
14 $this->setMwGlobals( [
15 'wgCapitalLinks' => true,
20 * @covers WikiExporter::pageByTitle
22 public function testPageByTitle() {
24 $pageTitle = 'UTPage';
26 $exporter = new WikiExporter(
31 $title = Title
::newFromText( $pageTitle );
33 $sink = new DumpStringOutput
;
34 $exporter->setOutputSink( $sink );
35 $exporter->openStream();
36 $exporter->pageByTitle( $title );
37 $exporter->closeStream();
39 // This throws error if invalid xml output
40 $xmlObject = simplexml_load_string( $sink );
43 * Check namespaces match xml
45 foreach ( $xmlObject->siteinfo
->namespaces
->children() as $namespace ) {
46 // Get the text content of the SimpleXMLElement
47 $xmlNamespaces[] = (string)$namespace;
49 $xmlNamespaces = str_replace( ' ', '_', $xmlNamespaces );
51 $actualNamespaces = (array)$wgContLang->getNamespaces();
52 $actualNamespaces = array_values( $actualNamespaces );
53 $this->assertEquals( $actualNamespaces, $xmlNamespaces );
55 // Check xml page title correct
56 $xmlTitle = (array)$xmlObject->page
->title
;
57 $this->assertEquals( $pageTitle, $xmlTitle[0] );
59 // Check xml page text is not empty
60 $text = (array)$xmlObject->page
->revision
->text
;
61 $this->assertNotEquals( '', $text[0] );