Krinkle has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/368122 )

Change subject: resourceloader: Include lessVars in FileModule definition 
summary
......................................................................

resourceloader: Include lessVars in FileModule definition summary

This already worked as expected for any module that uses the new
enableModuleContentVersion model, but for the majority of file modules
this is not yet the case for performance reasons. As such, make
sure lessVars are included in our manual tracking.

Include it conditionally to avoid changing the array for other modules,
which would needlessly invalidate their cache.

Bug: T171809
Change-Id: Ib250068e0ecfc29a09ca33c23bef901ee0482bf2
---
M includes/resourceloader/ResourceLoaderFileModule.php
M tests/phpunit/ResourceLoaderTestCase.php
M tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
3 files changed, 41 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/22/368122/1

diff --git a/includes/resourceloader/ResourceLoaderFileModule.php 
b/includes/resourceloader/ResourceLoaderFileModule.php
index 79b8e79..4675191 100644
--- a/includes/resourceloader/ResourceLoaderFileModule.php
+++ b/includes/resourceloader/ResourceLoaderFileModule.php
@@ -580,6 +580,12 @@
                        'fileHashes' => $this->getFileHashes( $context ),
                        'messageBlob' => $this->getMessageBlob( $context ),
                ];
+
+               $lessVars = $this->getLessVars( $context );
+               if ( $lessVars ) {
+                       $summary[] = [ 'lessVars' => $lessVars ];
+               }
+
                return $summary;
        }
 
diff --git a/tests/phpunit/ResourceLoaderTestCase.php 
b/tests/phpunit/ResourceLoaderTestCase.php
index d8f89fb..f75cc22 100644
--- a/tests/phpunit/ResourceLoaderTestCase.php
+++ b/tests/phpunit/ResourceLoaderTestCase.php
@@ -153,6 +153,22 @@
        }
 }
 
+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 {
 }
 
diff --git 
a/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php 
b/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
index ded56e9..e82bab7 100644
--- a/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
+++ b/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php
@@ -331,4 +331,23 @@
                        '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'
+               );
+       }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/368122
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib250068e0ecfc29a09ca33c23bef901ee0482bf2
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Krinkle <krinklem...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to