" mw.loader.implement( 'testUsesMissing', function () { QUnit.ok( false, 'Module usesMissing script should not run.' ); QUnit.start(); }, {}, {}); ", 'testUsesNestedMissing' => " mw.loader.implement( 'testUsesNestedMissing', function () { QUnit.ok( false, 'Module testUsesNestedMissing script should not run.' ); QUnit.start(); }, {}, {}); ", 'testSkipped' =>" mw.loader.implement( 'testSkipped', function () { QUnit.ok( false, 'Module testSkipped was supposed to be skipped.' ); }, {}, {}); ", 'testNotSkipped' =>" mw.loader.implement( 'testNotSkipped', function () {}, {}, {}); ", 'testUsesSkippable' =>" mw.loader.implement( 'testUsesSkippable', function () {}, {}, {}); ", ); $response = ''; // Only support for non-encoded module names, full module names expected if ( isset( $_GET['modules'] ) ) { $modules = explode( ',', $_GET['modules'] ); foreach ( $modules as $module ) { if ( isset( $moduleImplementations[$module] ) ) { $response .= $moduleImplementations[$module]; } else { $response .= Xml::encodeJsCall( 'mw.loader.state', array( $module, 'missing' ), true ); } } } echo $response;