JavaScriptContentHandlerTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. class JavaScriptContentHandlerTest extends MediaWikiLangTestCase {
  3. /**
  4. * @dataProvider provideMakeRedirectContent
  5. * @covers JavaScriptContentHandler::makeRedirectContent
  6. */
  7. public function testMakeRedirectContent( $title, $expected ) {
  8. $this->setMwGlobals( [
  9. 'wgServer' => '//example.org',
  10. 'wgScript' => '/w/index.php',
  11. ] );
  12. $ch = new JavaScriptContentHandler();
  13. $content = $ch->makeRedirectContent( Title::newFromText( $title ) );
  14. $this->assertInstanceOf( JavaScriptContent::class, $content );
  15. $this->assertEquals( $expected, $content->serialize( CONTENT_FORMAT_JAVASCRIPT ) );
  16. }
  17. /**
  18. * Keep this in sync with JavaScriptContentTest::provideGetRedirectTarget()
  19. */
  20. public static function provideMakeRedirectContent() {
  21. // phpcs:disable Generic.Files.LineLength
  22. return [
  23. [
  24. 'MediaWiki:MonoBook.js',
  25. '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=MediaWiki:MonoBook.js\u0026action=raw\u0026ctype=text/javascript");'
  26. ],
  27. [
  28. 'User:FooBar/common.js',
  29. '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=User:FooBar/common.js\u0026action=raw\u0026ctype=text/javascript");'
  30. ],
  31. [
  32. 'Gadget:FooBaz.js',
  33. '/* #REDIRECT */mw.loader.load("//example.org/w/index.php?title=Gadget:FooBaz.js\u0026action=raw\u0026ctype=text/javascript");'
  34. ],
  35. ];
  36. // phpcs:enable
  37. }
  38. }