X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fcontent%2FJavaScriptContentTest.php;h=8cbbfb8a7847d15aea651b1ab5dc5e927eafbf2f;hp=b97842c43cdd4aea4172eedbbf56f98be033b75e;hb=326d655fc9309f55112538b387ed8c201158a27d;hpb=e07635acdc991fc07a29dab6187c442b27f98b96 diff --git a/tests/phpunit/includes/content/JavaScriptContentTest.php b/tests/phpunit/includes/content/JavaScriptContentTest.php index b97842c43c..823be6f795 100644 --- a/tests/phpunit/includes/content/JavaScriptContentTest.php +++ b/tests/phpunit/includes/content/JavaScriptContentTest.php @@ -12,81 +12,81 @@ class JavaScriptContentTest extends TextContentTest { } public static function dataGetParserOutput() { - return array( - array( + return [ + [ 'MediaWiki:Test.js', null, "hello \n", "
\nhello <world>\n\n
" - ), - array( + ], + [ 'MediaWiki:Test.js', null, "hello(); // [[world]]\n", "
\nhello(); // [[world]]\n\n
", - array( - 'Links' => array( - array( 'World' => 0 ) - ) - ) - ), + [ + 'Links' => [ + [ 'World' => 0 ] + ] + ] + ], // TODO: more...? - ); + ]; } // XXX: Unused function public static function dataGetSection() { - return array( - array( WikitextContentTest::$sections, + return [ + [ WikitextContentTest::$sections, '0', null - ), - array( WikitextContentTest::$sections, + ], + [ WikitextContentTest::$sections, '2', null - ), - array( WikitextContentTest::$sections, + ], + [ WikitextContentTest::$sections, '8', null - ), - ); + ], + ]; } // XXX: Unused function public static function dataReplaceSection() { - return array( - array( WikitextContentTest::$sections, + return [ + [ WikitextContentTest::$sections, '0', 'No more', null, null - ), - array( WikitextContentTest::$sections, + ], + [ WikitextContentTest::$sections, '', 'No more', null, null - ), - array( WikitextContentTest::$sections, + ], + [ WikitextContentTest::$sections, '2', "== TEST ==\nmore fun", null, null - ), - array( WikitextContentTest::$sections, + ], + [ WikitextContentTest::$sections, '8', 'No more', null, null - ), - array( WikitextContentTest::$sections, + ], + [ WikitextContentTest::$sections, 'new', 'No more', 'New', null - ), - ); + ], + ]; } /** @@ -101,141 +101,106 @@ class JavaScriptContentTest extends TextContentTest { // XXX: currently, preSaveTransform is applied to scripts. this may change or become optional. public static function dataPreSaveTransform() { - return array( - array( 'hello this is ~~~', + return [ + [ 'hello this is ~~~', "hello this is [[Special:Contributions/127.0.0.1|127.0.0.1]]", - ), - array( 'hello \'\'this\'\' is ~~~', + ], + [ 'hello \'\'this\'\' is ~~~', 'hello \'\'this\'\' is ~~~', - ), - array( " Foo \n ", + ], + [ " Foo \n ", " Foo", - ), - ); + ], + ]; } public static function dataPreloadTransform() { - return array( - array( + return [ + [ 'hello this is ~~~', 'hello this is ~~~', - ), - array( + ], + [ 'hello \'\'this\'\' is foobar', 'hello \'\'this\'\' is foobar', - ), - ); + ], + ]; } public static function dataGetRedirectTarget() { - return array( - array( '#REDIRECT [[Test]]', + return [ + [ '#REDIRECT [[Test]]', null, - ), - array( '#REDIRECT Test', + ], + [ '#REDIRECT Test', null, - ), - array( '* #REDIRECT [[Test]]', + ], + [ '* #REDIRECT [[Test]]', null, - ), - ); - } - - /** - * @todo Test needs database! - */ - /* - public function getRedirectChain() { - $text = $this->getNativeData(); - return Title::newFromRedirectArray( $text ); - } - */ - - /** - * @todo Test needs database! - */ - /* - public function getUltimateRedirectTarget() { - $text = $this->getNativeData(); - return Title::newFromRedirectRecurse( $text ); + ], + ]; } - */ public static function dataIsCountable() { - return array( - array( '', + return [ + [ '', null, 'any', true - ), - array( 'Foo', + ], + [ 'Foo', null, 'any', true - ), - array( 'Foo', - null, - 'comma', - false - ), - array( 'Foo, bar', - null, - 'comma', - false - ), - array( 'Foo', + ], + [ 'Foo', null, 'link', false - ), - array( 'Foo [[bar]]', + ], + [ 'Foo [[bar]]', null, 'link', false - ), - array( 'Foo', + ], + [ 'Foo', true, 'link', false - ), - array( 'Foo [[bar]]', + ], + [ 'Foo [[bar]]', false, 'link', false - ), - array( '#REDIRECT [[bar]]', + ], + [ '#REDIRECT [[bar]]', true, 'any', true - ), - array( '#REDIRECT [[bar]]', - true, - 'comma', - false - ), - array( '#REDIRECT [[bar]]', + ], + [ '#REDIRECT [[bar]]', true, 'link', false - ), - ); + ], + ]; } public static function dataGetTextForSummary() { - return array( - array( "hello\nworld.", + return [ + [ "hello\nworld.", 16, 'hello world.', - ), - array( 'hello world.', + ], + [ 'hello world.', 8, 'hello...', - ), - array( '[[hello world]].', + ], + [ '[[hello world]].', 8, '[[hel...', - ), - ); + ], + ]; } /** @@ -256,10 +221,12 @@ class JavaScriptContentTest extends TextContentTest { * @dataProvider provideUpdateRedirect */ public function testUpdateRedirect( $oldText, $expectedText ) { - $this->setMwGlobals( array( + $this->setMwGlobals( [ 'wgServer' => '//example.org', - 'wgScriptPath' => '/w/index.php', - ) ); + 'wgScriptPath' => '/w', + 'wgScript' => '/w/index.php', + 'wgResourceBasePath' => '/w', + ] ); $target = Title::newFromText( "testUpdateRedirect_target" ); $content = new JavaScriptContent( $oldText ); @@ -269,19 +236,18 @@ class JavaScriptContentTest extends TextContentTest { } public static function provideUpdateRedirect() { - return array( - array( + // phpcs:disable Generic.Files.LineLength + return [ + [ '#REDIRECT [[Someplace]]', '#REDIRECT [[Someplace]]', - ), - - // @codingStandardsIgnoreStart Generic.Files.LineLength - array( + ], + [ '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=MediaWiki:MonoBook.js\u0026action=raw\u0026ctype=text/javascript");', '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=TestUpdateRedirect_target\u0026action=raw\u0026ctype=text/javascript");' - ) - // @codingStandardsIgnoreEnd - ); + ] + ]; + // phpcs:enable } /** @@ -303,22 +269,25 @@ class JavaScriptContentTest extends TextContentTest { } public static function dataEquals() { - return array( - array( new JavaScriptContent( "hallo" ), null, false ), - array( new JavaScriptContent( "hallo" ), new JavaScriptContent( "hallo" ), true ), - array( new JavaScriptContent( "hallo" ), new CssContent( "hallo" ), false ), - array( new JavaScriptContent( "hallo" ), new JavaScriptContent( "HALLO" ), false ), - ); + return [ + [ new JavaScriptContent( "hallo" ), null, false ], + [ new JavaScriptContent( "hallo" ), new JavaScriptContent( "hallo" ), true ], + [ new JavaScriptContent( "hallo" ), new CssContent( "hallo" ), false ], + [ new JavaScriptContent( "hallo" ), new JavaScriptContent( "HALLO" ), false ], + ]; } /** + * @covers JavaScriptContent::getRedirectTarget * @dataProvider provideGetRedirectTarget */ public function testGetRedirectTarget( $title, $text ) { - $this->setMwGlobals( array( + $this->setMwGlobals( [ 'wgServer' => '//example.org', - 'wgScriptPath' => '/w/index.php', - ) ); + 'wgScriptPath' => '/w', + 'wgScript' => '/w/index.php', + 'wgResourceBasePath' => '/w', + ] ); $content = new JavaScriptContent( $text ); $target = $content->getRedirectTarget(); $this->assertEquals( $title, $target ? $target->getPrefixedText() : null ); @@ -328,16 +297,31 @@ class JavaScriptContentTest extends TextContentTest { * Keep this in sync with JavaScriptContentHandlerTest::provideMakeRedirectContent() */ public static function provideGetRedirectTarget() { - // @codingStandardsIgnoreStart Generic.Files.LineLength - return array( - array( 'MediaWiki:MonoBook.js', '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=MediaWiki:MonoBook.js\u0026action=raw\u0026ctype=text/javascript");' ), - array( 'User:FooBar/common.js', '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=User:FooBar/common.js\u0026action=raw\u0026ctype=text/javascript");' ), - array( 'Gadget:FooBaz.js', '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=Gadget:FooBaz.js\u0026action=raw\u0026ctype=text/javascript");' ), + // phpcs:disable Generic.Files.LineLength + return [ + [ + 'MediaWiki:MonoBook.js', + '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=MediaWiki:MonoBook.js\u0026action=raw\u0026ctype=text/javascript");' + ], + [ + 'User:FooBar/common.js', + '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=User:FooBar/common.js\u0026action=raw\u0026ctype=text/javascript");' + ], + [ + 'Gadget:FooBaz.js', + '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=Gadget:FooBaz.js\u0026action=raw\u0026ctype=text/javascript");' + ], // No #REDIRECT comment - array( null, 'mw.loader.load("//example.org/w/index.php?title=MediaWiki:NoRedirect.js\u0026action=raw\u0026ctype=text/javascript");' ), + [ + null, + 'mw.loader.load("//example.org/w/index.php?title=MediaWiki:NoRedirect.js\u0026action=raw\u0026ctype=text/javascript");' + ], // Different domain - array( null, '/* #REDIRECT */mw.loader.load("//example.com/w/index.php?title=MediaWiki:OtherWiki.js\u0026action=raw\u0026ctype=text/javascript");' ), - ); - // @codingStandardsIgnoreEnd + [ + null, + '/* #REDIRECT */mw.loader.load("//example.com/w/index.php?title=MediaWiki:OtherWiki.js\u0026action=raw\u0026ctype=text/javascript");' + ], + ]; + // phpcs:enable } }