From f6d65e533c62f6deb21342d4901ece24497b433e Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Thu, 4 Jun 2015 07:31:04 +0200 Subject: Update to MediaWiki 1.25.1 --- .../includes/api/format/ApiFormatXmlTest.php | 119 +++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 tests/phpunit/includes/api/format/ApiFormatXmlTest.php (limited to 'tests/phpunit/includes/api/format/ApiFormatXmlTest.php') diff --git a/tests/phpunit/includes/api/format/ApiFormatXmlTest.php b/tests/phpunit/includes/api/format/ApiFormatXmlTest.php new file mode 100644 index 00000000..7babaedb --- /dev/null +++ b/tests/phpunit/includes/api/format/ApiFormatXmlTest.php @@ -0,0 +1,119 @@ +doEditContent( new WikitextContent( + '' + ), 'Summary' ); + $page = WikiPage::factory( Title::newFromText( 'MediaWiki:ApiFormatXmlTest' ) ); + $page->doEditContent( new WikitextContent( 'Bogus' ), 'Summary' ); + $page = WikiPage::factory( Title::newFromText( 'ApiFormatXmlTest' ) ); + $page->doEditContent( new WikitextContent( 'Bogus' ), 'Summary' ); + } + + public static function provideGeneralEncoding() { + return array( + // Basic types + array( array( null, 'a' => null ), '<_v _idx="0" />' ), + array( array( true, 'a' => true ), '<_v _idx="0">true' ), + array( array( false, 'a' => false ), '<_v _idx="0">false' ), + array( array( true, 'a' => true, ApiResult::META_BC_BOOLS => array( 0, 'a' ) ), + '<_v _idx="0">1' ), + array( array( false, 'a' => false, ApiResult::META_BC_BOOLS => array( 0, 'a' ) ), + '<_v _idx="0">' ), + array( array( 42, 'a' => 42 ), '<_v _idx="0">42' ), + array( array( 42.5, 'a' => 42.5 ), '<_v _idx="0">42.5' ), + array( array( 1e42, 'a' => 1e42 ), '<_v _idx="0">1.0E+42' ), + array( array( 'foo', 'a' => 'foo' ), '<_v _idx="0">foo' ), + array( array( 'fóo', 'a' => 'fóo' ), '<_v _idx="0">fóo' ), + + // Arrays and objects + array( array( array() ), '<_v />' ), + array( array( array( 'x' => 1 ) ), '<_v x="1" />' ), + array( array( array( 2 => 1 ) ), '<_v><_v _idx="2">1' ), + array( array( (object)array() ), '<_v />' ), + array( array( array( 1, ApiResult::META_TYPE => 'assoc' ) ), '<_v><_v _idx="0">1' ), + array( array( array( 'x' => 1, ApiResult::META_TYPE => 'array' ) ), '<_v><_v>1' ), + array( array( array( 'x' => 1, 'y' => array( 'z' => 1 ), ApiResult::META_TYPE => 'kvp' ) ), + '<_v><_v _name="x" xml:space="preserve">1<_v _name="y">1' ), + array( array( array( 'x' => 1, ApiResult::META_TYPE => 'kvp', ApiResult::META_INDEXED_TAG_NAME => 'i', ApiResult::META_KVP_KEY_NAME => 'key' ) ), + '<_v>1' ), + array( array( array( 'x' => 1, ApiResult::META_TYPE => 'BCkvp', ApiResult::META_KVP_KEY_NAME => 'key' ) ), + '<_v><_v key="x" xml:space="preserve">1' ), + array( array( array( 'x' => 1, ApiResult::META_TYPE => 'BCarray' ) ), '<_v x="1" />' ), + array( array( array( 'a', 'b', ApiResult::META_TYPE => 'BCassoc' ) ), '<_v><_v _idx="0">a<_v _idx="1">b' ), + + // Content + array( array( 'content' => 'foo', ApiResult::META_CONTENT => 'content' ), + 'foo' ), + + // Specified element name + array( array( 'foo', 'bar', ApiResult::META_INDEXED_TAG_NAME => 'itn' ), + 'foobar' ), + + // Subelements + array( array( 'a' => 1, 's' => 1, '_subelements' => array( 's' ) ), + '1' ), + + // Content and subelement + array( array( 'a' => 1, 'content' => 'foo', ApiResult::META_CONTENT => 'content' ), + 'foo' ), + array( array( 's' => array(), 'content' => 'foo', ApiResult::META_CONTENT => 'content' ), + 'foo' ), + array( + array( + 's' => 1, + 'content' => 'foo', + ApiResult::META_CONTENT => 'content', + ApiResult::META_SUBELEMENTS => array( 's' ) + ), + '1foo' + ), + + // BC Subelements + array( array( 'foo' => 'foo', ApiResult::META_BC_SUBELEMENTS => array( 'foo' ) ), + 'foo' ), + + // Name mangling + array( array( 'foo.bar' => 1 ), '' ), + array( array( '' => 1 ), '' ), + array( array( 'foo bar' => 1 ), '' ), + array( array( 'foo:bar' => 1 ), '' ), + array( array( 'foo%.bar' => 1 ), '' ), + array( array( '4foo' => 1, 'foo4' => 1 ), '' ), + array( array( "foo\xe3\x80\x80bar" => 1 ), '' ), + array( array( 'foo:bar' => 1, ApiResult::META_PRESERVE_KEYS => array( 'foo:bar' ) ), + '' ), + array( array( 'a', 'b', ApiResult::META_INDEXED_TAG_NAME => 'foo bar' ), + '<_foo.20.bar>a<_foo.20.bar>b' ), + + // includenamespace param + array( array( 'x' => 'foo' ), '', + array( 'includexmlnamespace' => 1 ) ), + + // xslt param + array( array(), 'Invalid or non-existent stylesheet specified', + array( 'xslt' => 'DoesNotExist' ) ), + array( array(), 'Stylesheet should be in the MediaWiki namespace.', + array( 'xslt' => 'ApiFormatXmlTest' ) ), + array( array(), 'Stylesheet should have .xsl extension.', + array( 'xslt' => 'MediaWiki:ApiFormatXmlTest' ) ), + array( array(), + 'getLocalURL( 'action=raw' ) ) . + '" type="text/xsl" ?>', + array( 'xslt' => 'MediaWiki:ApiFormatXmlTest.xsl' ) ), + ); + } + +} -- cgit v1.2.3-54-g00ecf