/**
  * @covers ResourceLoaderModule::getVersionHash
  */
 public function testGetVersionHash()
 {
     $context = $this->getResourceLoaderContext();
     $baseParams = ['scripts' => ['foo.js', 'bar.js'], 'dependencies' => ['jquery', 'mediawiki'], 'messages' => ['hello', 'world']];
     $module = new ResourceLoaderFileModule($baseParams);
     $version = json_encode($module->getVersionHash($context));
     // Exactly the same
     $module = new ResourceLoaderFileModule($baseParams);
     $this->assertEquals($version, json_encode($module->getVersionHash($context)), 'Instance is insignificant');
     // Re-order dependencies
     $module = new ResourceLoaderFileModule(['dependencies' => ['mediawiki', 'jquery']] + $baseParams);
     $this->assertEquals($version, json_encode($module->getVersionHash($context)), 'Order of dependencies is insignificant');
     // Re-order messages
     $module = new ResourceLoaderFileModule(['messages' => ['world', 'hello']] + $baseParams);
     $this->assertEquals($version, json_encode($module->getVersionHash($context)), 'Order of messages is insignificant');
     // Re-order scripts
     $module = new ResourceLoaderFileModule(['scripts' => ['bar.js', 'foo.js']] + $baseParams);
     $this->assertNotEquals($version, json_encode($module->getVersionHash($context)), 'Order of scripts is significant');
     // Subclass
     $module = new ResourceLoaderFileModuleTestModule($baseParams);
     $this->assertNotEquals($version, json_encode($module->getVersionHash($context)), 'Class is significant');
 }