From b2d120ae3276e30bbc6fab11f3505269655324c6 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Wed, 22 May 2019 19:29:09 +0100 Subject: [PATCH] resourceloader: Add tests for StartUpModule dep tree optimisation Bug: T223402 Change-Id: I0450c052852068f3c78312f48a42645a8b77bc5c --- .../ResourceLoaderStartUpModuleTest.php | 75 ++++++++++++++++++- 1 file changed, 73 insertions(+), 2 deletions(-) diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderStartUpModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderStartUpModuleTest.php index d4b5ed6c91..b5dd008b3f 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderStartUpModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderStartUpModuleTest.php @@ -33,6 +33,78 @@ mw.loader.register( [ "test.blank", "{blankVer}" ] +] );', + ] ], + [ [ + 'msg' => 'Optimise the dependency tree (basic case)', + 'modules' => [ + 'a' => new ResourceLoaderTestModule( [ 'dependencies' => [ 'b', 'c', 'd' ] ] ), + 'b' => new ResourceLoaderTestModule( [ 'dependencies' => [ 'c' ] ] ), + 'c' => new ResourceLoaderTestModule( [ 'dependencies' => [] ] ), + 'd' => new ResourceLoaderTestModule( [ 'dependencies' => [] ] ), + ], + 'out' => ' +mw.loader.addSource( { + "local": "/w/load.php" +} ); +mw.loader.register( [ + [ + "a", + "{blankVer}", + [ + 1, + 3 + ] + ], + [ + "b", + "{blankVer}", + [ + 2 + ] + ], + [ + "c", + "{blankVer}" + ], + [ + "d", + "{blankVer}" + ] +] );', + ] ], + [ [ + 'msg' => 'Optimise the dependency tree (tolerate unknown deps)', + 'modules' => [ + 'a' => new ResourceLoaderTestModule( [ 'dependencies' => [ 'b', 'c', 'x' ] ] ), + 'b' => new ResourceLoaderTestModule( [ 'dependencies' => [ 'c', 'x' ] ] ), + 'c' => new ResourceLoaderTestModule( [ 'dependencies' => [] ] ), + ], + 'out' => ' +mw.loader.addSource( { + "local": "/w/load.php" +} ); +mw.loader.register( [ + [ + "a", + "{blankVer}", + [ + 1, + "x" + ] + ], + [ + "b", + "{blankVer}", + [ + 2, + "x" + ] + ], + [ + "c", + "{blankVer}" + ] ] );', ] ], [ [ @@ -454,8 +526,7 @@ mw.loader.register( [ /** * @dataProvider provideGetModuleRegistrations - * @covers ResourceLoaderStartUpModule::getModuleRegistrations - * @covers ResourceLoaderStartUpModule::compileUnresolvedDependencies + * @covers ResourceLoaderStartUpModule * @covers ResourceLoader::makeLoaderRegisterScript */ public function testGetModuleRegistrations( $case ) { -- 2.20.1