Merge "Improve tests for OutputPage::makeResourceLoaderLink"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Fri, 5 Sep 2014 19:25:26 +0000 (19:25 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Fri, 5 Sep 2014 19:25:26 +0000 (19:25 +0000)
1  2 
tests/phpunit/includes/OutputPageTest.php

@@@ -151,26 -151,18 +151,26 @@@ class OutputPageTest extends MediaWikiT
                                '<link rel=stylesheet href="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.bar%2Cbaz%2Cfoo&amp;only=styles&amp;skin=fallback&amp;*">
  '
                        ),
 -                      // Load private module (scripts)
 +                      // Load private module (only=scripts)
 +                      // This is asserted for completion (would get two condition wrappers),
 +                      // though in practice we'd never embed a module with only=scripts,
 +                      // that mode is reserved for hardcoded requests. Embedded modules
 +                      // would always be combined.
                        array(
                                array( 'test.quux', ResourceLoaderModule::TYPE_SCRIPTS ),
 -                              '<script>if(window.mw){mw.test.baz({token:123});mw.loader.state({"test.quux":"ready"});}
 -</script>
 +                              '<script>if(window.mw){
 +if(window.mw){mw.test.baz({token:123});mw.loader.state({"test.quux":"ready"});}
 +
 +}</script>
  '
                        ),
                        // Load private module (combined)
                        array(
                                array( 'test.quux', ResourceLoaderModule::TYPE_COMBINED ),
 -                              '<script>mw.loader.implement("test.quux",function($,jQuery){mw.test.baz({token:123});},{"css":[".mw-icon{transition:none}\n"]},{});
 -</script>
 +                              '<script>if(window.mw){
 +mw.loader.implement("test.quux",function($,jQuery){mw.test.baz({token:123});},{"css":[".mw-icon{transition:none}\n"]},{});
 +
 +}</script>
  '
                        ),
                        // Load module script with with ESI
                        array(
                                array( 'test.foo', ResourceLoaderModule::TYPE_STYLES, true ),
                                '<style><esi:include src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.foo&amp;only=styles&amp;skin=fallback&amp;*" /></style>
+ ',
+                       ),
+                       // Load no modules
+                       array(
+                               array( array(), ResourceLoaderModule::TYPE_COMBINED ),
+                               '',
+                       ),
+                       // noscript group
+                       array(
+                               array( 'test.noscript', ResourceLoaderModule::TYPE_STYLES ),
+                               '<noscript><link rel=stylesheet href="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.noscript&amp;only=styles&amp;skin=fallback&amp;*"></noscript>
+ '
+                       ),
+                       // Load two modules in separate groups
+                       array(
+                               array( array( 'test.group.foo', 'test.group.bar' ), ResourceLoaderModule::TYPE_COMBINED ),
+                               '<script src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.group.bar&amp;skin=fallback&amp;*"></script>
+ <script src="http://127.0.0.1:8080/w/load.php?debug=false&amp;lang=en&amp;modules=test.group.foo&amp;skin=fallback&amp;*"></script>
  ',
                        ),
                );
                                'styles' => '/* pref-animate=off */ .mw-icon { transition: none; }',
                                'group' => 'private',
                        )),
+                       'test.noscript' => new ResourceLoaderTestModule( array(
+                               'styles' => '.mw-test-noscript { content: "style"; }',
+                               'group' => 'noscript',
+                       )),
+                       'test.group.bar' => new ResourceLoaderTestModule( array(
+                                       'styles' => '.mw-group-bar { content: "style"; }',
+                                       'group' => 'bar',
+                       )),
+                       'test.group.foo' => new ResourceLoaderTestModule( array(
+                                       'styles' => '.mw-group-foo { content: "style"; }',
+                                       'group' => 'foo',
+                       )),
                ) );
                $links = $method->invokeArgs( $out, $args );
                // Strip comments to avoid variation due to wgDBname in WikiID and cache key