Legoktm has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/142830

Change subject: Add tests for OutputPage::makeResourceLoaderLink()
......................................................................

Add tests for OutputPage::makeResourceLoaderLink()

Change-Id: I22dc7fd1003f07ab0be61bb4645b45a9db9f2548
---
M tests/phpunit/includes/OutputPageTest.php
1 file changed, 54 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/30/142830/1

diff --git a/tests/phpunit/includes/OutputPageTest.php 
b/tests/phpunit/includes/OutputPageTest.php
index 385cee5..45b98ae 100644
--- a/tests/phpunit/includes/OutputPageTest.php
+++ b/tests/phpunit/includes/OutputPageTest.php
@@ -135,4 +135,58 @@
                        'message' => 'On request with handheld querystring and 
media is screen, returns null'
                ) );
        }
+
+       public static function provideMakeResourceLoaderLink() {
+               return array(
+                       // JavaScript module
+                       array(
+                               array( 'mediawiki.api', 
ResourceLoaderModule::TYPE_SCRIPTS ),
+                               '<script 
src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=mediawiki.api&amp;only=scripts&amp;skin=vector&amp;*";></script>
+'
+                       ),
+                       // Two styles-only modules
+                       array(
+                               array( array( 'mediawiki.skinning.interface', 
'mediawiki.ui.button' ), ResourceLoaderModule::TYPE_STYLES ),
+                               '<link rel="stylesheet" 
href="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=mediawiki.skinning.interface%7Cmediawiki.ui.button&amp;only=styles&amp;skin=vector&amp;*";
 />
+'
+                       ),
+                       // A private module that gets inlined
+                       array(
+                               array( 'user.tokens', 
ResourceLoaderModule::TYPE_COMBINED ),
+                               '<script>if(window.mw){
+mw.loader.implement("user.tokens",function($,jQuery){mw.user.tokens.set({"editToken":"+\\\","patrolToken":false,"watchToken":false});},{},{});
+/* cache key: 
wiki:resourceloader:filter:minify-js:7:f47f038f09d6ac0c11c8b132f0717602 */
+}</script>
+'
+                       ),
+                       // a JavaScript module with ESI enabled
+                       array(
+                               array( 'mediawiki.api', 
ResourceLoaderModule::TYPE_SCRIPTS, true ),
+                               '<script>/*<![CDATA[*/<esi:include 
src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=mediawiki.api&amp;only=scripts&amp;skin=vector&amp;*";
 />/*]]>*/</script>
+'
+                       ),
+                       // A style module with ESI enabled
+                       array(
+                               array( 'mediawiki.ui.button', 
ResourceLoaderModule::TYPE_STYLES, true ),
+                               '<style>/*<![CDATA[*/<esi:include 
src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=mediawiki.ui.button&amp;only=styles&amp;skin=vector&amp;*";
 />/*]]>*/</style>
+',
+                       ),
+               );
+       }
+
+
+       /**
+        * @dataProvider provideMakeResourceLoaderLink
+        * @covers OutputPage::makeResourceLoaderLink
+        */
+       public function testMakeResourceLoaderLink( $args, $expectedHtml) {
+               $this->setMwGlobals( 'wgResourceLoaderUseESI', true );
+               $class = new ReflectionClass( 'OutputPage' );
+               $method = $class->getMethod( 'makeResourceLoaderLink' );
+               $method->setAccessible( true );
+               $ctx = new RequestContext();
+               $out = new OutputPage( $ctx );
+               $links = $method->invokeArgs( $out, $args );
+               $this->assertEquals( $links['html'], $expectedHtml );
+       }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/142830
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I22dc7fd1003f07ab0be61bb4645b45a9db9f2548
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to