diff options
author | jdlrobson <jdlrobson@gmail.com> | 2016-07-14 15:09:06 -0700 |
---|---|---|
committer | Legoktm <legoktm.wikipedia@gmail.com> | 2016-08-04 18:01:53 +0000 |
commit | 8af960e48469f6eec8aecf0ca2fc64f2b464472a (patch) | |
tree | dc848b48a32cc7036f1d5ade3dac5769244e243b /tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php | |
parent | 23c79b228c0fcab6e6b16e5c6a530aaca1b845ac (diff) | |
download | mediawikicore-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.php | 37 |
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 |