diff options
Diffstat (limited to 'www/wiki/tests/phpunit/includes/content/JavaScriptContentHandlerTest.php')
-rw-r--r-- | www/wiki/tests/phpunit/includes/content/JavaScriptContentHandlerTest.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/content/JavaScriptContentHandlerTest.php b/www/wiki/tests/phpunit/includes/content/JavaScriptContentHandlerTest.php new file mode 100644 index 00000000..b5e3ab4a --- /dev/null +++ b/www/wiki/tests/phpunit/includes/content/JavaScriptContentHandlerTest.php @@ -0,0 +1,41 @@ +<?php + +class JavaScriptContentHandlerTest extends MediaWikiLangTestCase { + + /** + * @dataProvider provideMakeRedirectContent + * @covers JavaScriptContentHandler::makeRedirectContent + */ + public function testMakeRedirectContent( $title, $expected ) { + $this->setMwGlobals( [ + 'wgServer' => '//example.org', + 'wgScript' => '/w/index.php', + ] ); + $ch = new JavaScriptContentHandler(); + $content = $ch->makeRedirectContent( Title::newFromText( $title ) ); + $this->assertInstanceOf( JavaScriptContent::class, $content ); + $this->assertEquals( $expected, $content->serialize( CONTENT_FORMAT_JAVASCRIPT ) ); + } + + /** + * Keep this in sync with JavaScriptContentTest::provideGetRedirectTarget() + */ + public static function provideMakeRedirectContent() { + // 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");' + ], + ]; + // phpcs:enable + } +} |