diff options
Diffstat (limited to 'includes/specials/SpecialJavaScriptTest.php')
-rw-r--r-- | includes/specials/SpecialJavaScriptTest.php | 75 |
1 files changed, 41 insertions, 34 deletions
diff --git a/includes/specials/SpecialJavaScriptTest.php b/includes/specials/SpecialJavaScriptTest.php index c217eccb..7069d527 100644 --- a/includes/specials/SpecialJavaScriptTest.php +++ b/includes/specials/SpecialJavaScriptTest.php @@ -40,19 +40,11 @@ class SpecialJavaScriptTest extends SpecialPage { } public function execute( $par ) { - global $wgEnableJavaScriptTest; - $out = $this->getOutput(); $this->setHeaders(); $out->disallowUserJs(); - // Abort early if we're disabled - if ( $wgEnableJavaScriptTest !== true ) { - $out->addWikiMsg( 'javascripttest-disabled' ); - return; - } - $out->addModules( 'mediawiki.special.javaScriptTest' ); // Determine framework @@ -63,24 +55,29 @@ class SpecialJavaScriptTest extends SpecialPage { if ( $par == '' ) { $out->setPageTitle( $this->msg( 'javascripttest' ) ); $summary = $this->wrapSummaryHtml( - $this->msg( 'javascripttest-pagetext-noframework' )->escaped() . $this->getFrameworkListHtml(), + $this->msg( 'javascripttest-pagetext-noframework' )->escaped() . + $this->getFrameworkListHtml(), 'noframework' ); $out->addHtml( $summary ); - - // Matched! Display proper title and initialize the framework } elseif ( isset( self::$frameworks[$framework] ) ) { - $out->setPageTitle( $this->msg( 'javascripttest-title', $this->msg( "javascripttest-$framework-name" )->plain() ) ); - $out->setSubtitle( $this->msg( 'javascripttest-backlink' )->rawParams( Linker::linkKnown( $this->getTitle() ) ) ); + // Matched! Display proper title and initialize the framework + $out->setPageTitle( $this->msg( + 'javascripttest-title', + // Messages: javascripttest-qunit-name + $this->msg( "javascripttest-$framework-name" )->plain() + ) ); + $out->setSubtitle( $this->msg( 'javascripttest-backlink' ) + ->rawParams( Linker::linkKnown( $this->getTitle() ) ) ); $this->{self::$frameworks[$framework]}(); - - // Framework not found, display error } else { + // Framework not found, display error $out->setPageTitle( $this->msg( 'javascripttest' ) ); - $summary = $this->wrapSummaryHtml( '<p class="error">' - . $this->msg( 'javascripttest-pagetext-unknownframework', $par )->escaped() - . '</p>' - . $this->getFrameworkListHtml(), + $summary = $this->wrapSummaryHtml( + '<p class="error">' . + $this->msg( 'javascripttest-pagetext-unknownframework', $par )->escaped() . + '</p>' . + $this->getFrameworkListHtml(), 'unknownframework' ); $out->addHtml( $summary ); @@ -88,40 +85,49 @@ class SpecialJavaScriptTest extends SpecialPage { } /** - * Get a list of frameworks (including introduction paragraph and links to the framework run pages) - * @return String: HTML + * Get a list of frameworks (including introduction paragraph and links + * to the framework run pages) + * + * @return string HTML */ private function getFrameworkListHtml() { $list = '<ul>'; - foreach( self::$frameworks as $framework => $initFn ) { + foreach ( self::$frameworks as $framework => $initFn ) { $list .= Html::rawElement( 'li', array(), - Linker::link( $this->getTitle( $framework ), $this->msg( "javascripttest-$framework-name" )->escaped() ) + Linker::link( + $this->getTitle( $framework ), + // Message: javascripttest-qunit-name + $this->msg( "javascripttest-$framework-name" )->escaped() + ) ); } $list .= '</ul>'; - $msg = $this->msg( 'javascripttest-pagetext-frameworks' )->rawParams( $list )->parseAsBlock(); - return $msg; + return $this->msg( 'javascripttest-pagetext-frameworks' )->rawParams( $list ) + ->parseAsBlock(); } /** * Function to wrap the summary. * It must be given a valid state as a second parameter or an exception will * be thrown. - * @param $html String: The raw HTML. - * @param $state String: State, one of 'noframework', 'unknownframework' or 'frameworkfound' + * @param string $html The raw HTML. + * @param string $state State, one of 'noframework', 'unknownframework' or 'frameworkfound' + * @throws MWException * @return string */ private function wrapSummaryHtml( $html, $state ) { $validStates = array( 'noframework', 'unknownframework', 'frameworkfound' ); - if( !in_array( $state, $validStates ) ) { + + if ( !in_array( $state, $validStates ) ) { throw new MWException( __METHOD__ . ' given an invalid state. Must be one of "' - . join( '", "', $validStates) . '".' + . join( '", "', $validStates ) . '".' ); } + return "<div id=\"mw-javascripttest-summary\" class=\"mw-javascripttest-$state\">$html</div>"; } @@ -162,12 +168,13 @@ HTML; // Used in ./tests/qunit/data/testrunner.js, see also documentation of // $wgJavaScriptTestConfig in DefaultSettings.php - $out->addJsConfigVars( 'QUnitTestSwarmInjectJSPath', $wgJavaScriptTestConfig['qunit']['testswarm-injectjs'] ); + $out->addJsConfigVars( + 'QUnitTestSwarmInjectJSPath', + $wgJavaScriptTestConfig['qunit']['testswarm-injectjs'] + ); } - public function isListed(){ - global $wgEnableJavaScriptTest; - return $wgEnableJavaScriptTest === true; + protected function getGroupName() { + return 'other'; } - } |