예제 #1
0
 /**
  * @covers ResourceLoaderModule::getDefinitionSummary
  * @covers ResourceLoaderFileModule::getDefinitionSummary
  */
 public function testDefinitionSummary()
 {
     $context = $this->getResourceLoaderContext();
     $baseParams = array('scripts' => array('foo.js', 'bar.js'), 'dependencies' => array('jquery', 'mediawiki'), 'messages' => array('hello', 'world'));
     $module = new ResourceLoaderFileModule($baseParams);
     $jsonSummary = json_encode($module->getDefinitionSummary($context));
     // Exactly the same
     $module = new ResourceLoaderFileModule($baseParams);
     $this->assertEquals($jsonSummary, json_encode($module->getDefinitionSummary($context)), 'Instance is insignificant');
     // Re-order dependencies
     $module = new ResourceLoaderFileModule(array('dependencies' => array('mediawiki', 'jquery')) + $baseParams);
     $this->assertEquals($jsonSummary, json_encode($module->getDefinitionSummary($context)), 'Order of dependencies is insignificant');
     // Re-order messages
     $module = new ResourceLoaderFileModule(array('messages' => array('world', 'hello')) + $baseParams);
     $this->assertEquals($jsonSummary, json_encode($module->getDefinitionSummary($context)), 'Order of messages is insignificant');
     // Re-order scripts
     $module = new ResourceLoaderFileModule(array('scripts' => array('bar.js', 'foo.js')) + $baseParams);
     $this->assertNotEquals($jsonSummary, json_encode($module->getDefinitionSummary($context)), 'Order of scripts is significant');
     // Subclass
     $module = new ResourceLoaderFileModuleTestModule($baseParams);
     $this->assertNotEquals($jsonSummary, json_encode($module->getDefinitionSummary($context)), 'Class is significant');
 }
 /**
  * @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');
 }