aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
diff options
context:
space:
mode:
authorjdlrobson <jdlrobson@gmail.com>2016-07-14 15:09:06 -0700
committerLegoktm <legoktm.wikipedia@gmail.com>2016-08-04 18:01:53 +0000
commit8af960e48469f6eec8aecf0ca2fc64f2b464472a (patch)
treedc848b48a32cc7036f1d5ade3dac5769244e243b /tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
parent23c79b228c0fcab6e6b16e5c6a530aaca1b845ac (diff)
downloadmediawikicore-8af960e48469f6eec8aecf0ca2fc64f2b464472a.tar.gz
mediawikicore-8af960e48469f6eec8aecf0ca2fc64f2b464472a.zip
resourceloader: Implement 'deprecated' option for FileModule
ResourceLoader modules can now carry a 'deprecated' option which can be a boolean or an object with message key. This message or a default deprecation message will be show whenever that module is used in production. Note: This will not work in debug mode for ResourceLoaderFile modules and this is deemed acceptable for the time being. We can revisit later. Bug: T137772 Change-Id: Ib9ebd2d39a59fd41d8537e06884699f77b03580c
Diffstat (limited to 'tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php')
-rw-r--r--tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
index 2dec02b89f48..e216ceda8aeb 100644
--- a/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
+++ b/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
@@ -27,6 +27,15 @@ class ResourceLoaderFileModuleTest extends ResourceLoaderTestCase {
return [
'noTemplateModule' => [],
+ 'deprecatedModule' => $base + [
+ 'deprecated' => true,
+ ],
+ 'deprecatedTomorrow' => $base + [
+ 'deprecated' => [
+ 'message' => 'Will be removed tomorrow.'
+ ],
+ ],
+
'htmlTemplateModule' => $base + [
'templates' => [
'templates/template.html',
@@ -96,6 +105,34 @@ class ResourceLoaderFileModuleTest extends ResourceLoaderTestCase {
$this->assertEquals( $rl->getDependencies(), $expected );
}
+ public static function providerDeprecatedModules() {
+ return [
+ [
+ 'deprecatedModule',
+ 'mw.log.warn("This page is using the deprecated ResourceLoader module \"deprecatedModule\".");',
+ ],
+ [
+ 'deprecatedTomorrow',
+ 'mw.log.warn(' .
+ '"This page is using the deprecated ResourceLoader module \"deprecatedTomorrow\".\\n' .
+ "Will be removed tomorrow." .
+ '");'
+ ]
+ ];
+ }
+
+ /**
+ * @dataProvider providerDeprecatedModules
+ * @covers ResourceLoaderFileModule::getScripts
+ */
+ public function testDeprecatedModules( $name, $expected ) {
+ $modules = self::getModules();
+ $rl = new ResourceLoaderFileModule( $modules[$name] );
+ $rl->setName( $name );
+ $ctx = $this->getResourceLoaderContext( 'en', 'ltr' );
+ $this->assertEquals( $rl->getScript( $ctx ), $expected );
+ }
+
/**
* @covers ResourceLoaderFileModule::getAllStyleFiles
* @covers ResourceLoaderFileModule::getAllSkinStyleFiles