Jdlrobson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/182959
Change subject: Hygiene: Moving ResourceLoaderParsedMessageModule to
MobileFrontend
......................................................................
Hygiene: Moving ResourceLoaderParsedMessageModule to MobileFrontend
Change-Id: I23df60f915c8fd42c8b8dafcbc9602162f513745
---
M Mantle.php
M includes/Hooks.php
D includes/ResourceLoaderParsedMessageModule.php
D tests/ResourceLoaderParsedMessageModuleTest.php
4 files changed, 0 insertions(+), 228 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Mantle
refs/changes/59/182959/1
diff --git a/Mantle.php b/Mantle.php
index 6fd764c..2e37268 100644
--- a/Mantle.php
+++ b/Mantle.php
@@ -21,7 +21,6 @@
// autoload extension classes
$autoloadClasses = array (
'MantleHooks' => 'Hooks',
- 'ResourceLoaderParsedMessageModule' =>
'ResourceLoaderParsedMessageModule',
);
foreach ( $autoloadClasses as $className => $classFilename ) {
@@ -39,5 +38,4 @@
);
require_once __DIR__ . "/includes/Resources.php";
-$wgHooks['UnitTestsList'][] = 'MantleHooks::onUnitTestsList';
$wgHooks['ResourceLoaderTestModules'][] =
'MantleHooks::onResourceLoaderTestModules';
diff --git a/includes/Hooks.php b/includes/Hooks.php
index 3e44abe..122b7bc 100644
--- a/includes/Hooks.php
+++ b/includes/Hooks.php
@@ -10,29 +10,6 @@
class MantleHooks {
/**
- * UnitTestsList hook handler
- * @see https://www.mediawiki.org/wiki/Manual:Hooks/UnitTestsList
- *
- * @param array $files
- * @return bool
- */
- public static function onUnitTestsList( &$files ) {
- $dir = dirname( dirname( __FILE__ ) ) . '/tests';
-
- $callback = function( $file ) use ( $dir ) {
- return "$dir/$file";
- };
- $files = array_merge( $files,
- array_map( $callback,
- array(
-
'ResourceLoaderParsedMessageModuleTest.php',
- )
- )
- );
- return true;
- }
-
- /**
* ResourceLoaderTestModules hook handler
* @see
https://www.mediawiki.org/wiki/Manual:Hooks/ResourceLoaderTestModules
*
diff --git a/includes/ResourceLoaderParsedMessageModule.php
b/includes/ResourceLoaderParsedMessageModule.php
deleted file mode 100644
index 08efeaa..0000000
--- a/includes/ResourceLoaderParsedMessageModule.php
+++ /dev/null
@@ -1,112 +0,0 @@
-<?php
-/**
- * ResourceLoaderModule subclass for mobile
- * Allows basic parsing of messages without arguments
- */
-class ResourceLoaderParsedMessageModule extends ResourceLoaderFileModule {
- /** @var array Saves a list of messages which have been marked as
needing parsing. */
- protected $parsedMessages = array();
- /** @var array Saves a list of message keys used by this module. */
- protected $messages = array();
- /** @var array Saves the target for the module (e.g. desktop and
mobile). */
- protected $targets = array( 'mobile', 'desktop' );
- /** @var boolean Whether the module abuses getScripts. */
- protected $hasHackedScriptMode = false;
-
- /**
- * Registers core modules and runs registration hooks.
- * @param $options List of options; if not given or empty, an empty
module will be constructed
- */
- public function __construct( $options ) {
- foreach ( $options as $member => $option ) {
- switch ( $member ) {
- case 'messages':
- $this->processMessages( $option );
- $this->hasHackedScriptMode = true;
- // Prevent them being reinitialised
when parent construct is called.
- unset( $options[$member] );
- break;
- }
- }
-
- parent::__construct( $options );
- }
-
- /**
- * Processes messages which have been marked as needing parsing
- *
- * @return string JavaScript code
- */
- public function addParsedMessages() {
- $js = "\n";
- foreach( $this->parsedMessages as $key ) {
- $value = wfMessage( $key )->parse();
- $js .= Xml::encodeJsCall( 'mw.messages.set', array(
$key, $value ) );
- }
- return $js;
- }
-
- /**
- * Separates messages which have been marked as needing parsing from
standard messages
- * @param array $messages Array of messages to process
- */
- public function processMessages( $messages ) {
- foreach( $messages as $key => $value ) {
- if ( is_array( $value ) ) {
- foreach( $value as $directive ) {
- if ( $directive == 'parse' ) {
- $this->parsedMessages[] = $key;
- }
- }
- } else {
- $this->messages[] = $value;
- }
- }
- }
-
- /**
- * Gets list of message keys used by this module.
- *
- * @return array List of message keys
- */
- public function getMessages() {
- return $this->messages;
- }
-
- /**
- * Gets all scripts for a given context concatenated together including
processed messages
- *
- * @param ResourceLoaderContext $context Context in which to generate
script
- * @return string JavaScript code for $context
- */
- public function getScript( ResourceLoaderContext $context ) {
- $script = parent::getScript( $context );
- return $this->addParsedMessages() . $script;
- }
-
- /**
- * Get the URL or URLs to load for this module's JS in debug mode.
- * @param ResourceLoaderContext $context
- * @return array list of urls
- * @see ResourceLoaderModule::getScriptURLsForDebug
- */
- public function getScriptURLsForDebug( ResourceLoaderContext $context )
{
- if ( $this->hasHackedScriptMode ) {
- $derivative = new DerivativeResourceLoaderContext(
$context );
- $derivative->setDebug( true );
- $derivative->setModules( array( $this->getName() ) );
- // @todo FIXME: Make this templates and update
- // makeModuleResponse so that it only outputs template
code.
- // When this is done you can merge with parent array and
- // retain file names.
- $derivative->setOnly( 'scripts' );
- $rl = $derivative->getResourceLoader();
- $urls = array(
- $rl->createLoaderURL( $this->getSource(),
$derivative ),
- );
- } else {
- $urls = parent::getScriptURLsForDebug( $context );
- }
- return $urls;
- }
-}
diff --git a/tests/ResourceLoaderParsedMessageModuleTest.php
b/tests/ResourceLoaderParsedMessageModuleTest.php
deleted file mode 100644
index 490bf38..0000000
--- a/tests/ResourceLoaderParsedMessageModuleTest.php
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-
-/**
- * @group Mantle
- */
-class ResourceLoaderParsedMessageModuleTest extends MediaWikiTestCase {
- private $modules = array(
- array(
- 'messages' => array( 'foo', 'bar' ),
- ),
- array(
- 'messages' => array(
- 'foo',
- 'mobile-frontend-photo-license' => array(
'parse' ),
- ),
- ),
- array(
- 'messages' => array(
- 'foo',
- 'mobile-frontend-photo-license' => array(
'unknown' ),
- ),
- ),
- );
-
- // providers
- public function providerGetMessages() {
- return array(
- array(
- $this->modules[0],
- array( 'foo', 'bar' ),
- ),
- array(
- $this->modules[1],
- array( 'foo' ),
- ),
- array(
- $this->modules[2],
- array( 'foo' ),
- ),
- );
- }
-
- public function providerAddParsedMessages() {
- $msg = wfMessage( 'mobile-frontend-photo-license' )->parse();
- $expected = "\n" . Xml::encodeJsCall( 'mw.messages.set',
- array( 'mobile-frontend-photo-license', $msg )
);
-
- return array(
- // test case 1
- array(
- $this->modules[0],
- // expected value
- "\n"
- ),
- // test case 2
- array(
- $this->modules[1],
- // expected value 2
- $expected
- ),
- // test case 3
- array(
- $this->modules[2],
- // expected value 2
- "\n"
- ),
- );
- }
-
- // tests
-
- /**
- * @dataProvider providerAddParsedMessages
- */
- public function testAddParsedMessages( $module, $expectedJavascript ) {
- $rl = new ResourceLoaderParsedMessageModule( $module );
- $js = $rl->addParsedMessages();
-
- $this->assertEquals( $js, $expectedJavascript );
- }
-
- /**
- * @dataProvider providerGetMessages
- */
- public function testGetMessages( $module, $expectedMessages ) {
- $rl = new ResourceLoaderParsedMessageModule( $module );
- $msgs = $rl->getMessages();
-
- $this->assertEquals( $msgs, $expectedMessages );
- }
-}
--
To view, visit https://gerrit.wikimedia.org/r/182959
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I23df60f915c8fd42c8b8dafcbc9602162f513745
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Mantle
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits