'fileHashes' => $this->getFileHashes( $context ),
'messageBlob' => $this->getMessageBlob( $context ),
];
+
+ $lessVars = $this->getLessVars( $context );
+ if ( $lessVars ) {
+ $summary[] = [ 'lessVars' => $lessVars ];
+ }
+
return $summary;
}
'MediaWikiLangTestCase' => "$testDir/phpunit/MediaWikiLangTestCase.php",
'ResourceLoaderTestCase' => "$testDir/phpunit/ResourceLoaderTestCase.php",
'ResourceLoaderTestModule' => "$testDir/phpunit/ResourceLoaderTestCase.php",
+ 'ResourceLoaderFileTestModule' => "$testDir/phpunit/ResourceLoaderTestCase.php",
'ResourceLoaderFileModuleTestModule' => "$testDir/phpunit/ResourceLoaderTestCase.php",
'EmptyResourceLoader' => "$testDir/phpunit/ResourceLoaderTestCase.php",
'TestUser' => "$testDir/phpunit/includes/TestUser.php",
}
}
+class ResourceLoaderFileTestModule extends ResourceLoaderFileModule {
+ protected $lessVars = [];
+
+ public function __construct( $options = [], $test = [] ) {
+ parent::__construct( $options );
+
+ foreach ( $test as $key => $value ) {
+ $this->$key = $value;
+ }
+ }
+
+ public function getLessVars( ResourceLoaderContext $context ) {
+ return $this->lessVars;
+ }
+}
+
class ResourceLoaderFileModuleTestModule extends ResourceLoaderFileModule {
}
'Leading BOM removed when concatenating files'
);
}
+
+ /**
+ * @covers ResourceLoaderFileModule::getDefinitionSummary
+ */
+ public function testGetVersionHash() {
+ $context = $this->getResourceLoaderContext();
+
+ // Less variables
+ $module = new ResourceLoaderFileTestModule();
+ $version = $module->getVersionHash( $context );
+ $module = new ResourceLoaderFileTestModule( [], [
+ 'lessVars' => [ 'key' => 'value' ],
+ ] );
+ $this->assertNotEquals(
+ $version,
+ $module->getVersionHash( $context ),
+ 'Using less variables is significant'
+ );
+ }
}