public function testPreservesInputConfigData() { $config = new \stdClass(); $list = new \ElggPriorityList(); $obj1 = (object) array('name' => 'bar1', 'url' => '#', 'loaded' => false, 'location' => 'custom_location'); $obj2 = (object) array('name' => 'bar2', 'url' => 'http://elgg.org/', 'loaded' => true, 'location' => 'custom_location'); $list->add($obj1, 600); $list->add($obj2, 300); $GLOBALS['_ELGG']->externals = array('foo' => $list); $GLOBALS['_ELGG']->externals_map = array('foo' => array('bar1' => $obj1, 'bar2' => $obj2)); $externalFiles = new \Elgg\Assets\ExternalFiles($config); $this->assertEquals(array(300 => 'http://elgg.org/'), $externalFiles->getLoadedFiles('foo', 'custom_location')); $externalFiles->load('foo', 'bar1'); $this->assertEquals(array(300 => 'http://elgg.org/', 600 => '#'), $externalFiles->getLoadedFiles('foo', 'custom_location')); }
public function testPriorityCollision() { $pl = new ElggPriorityList(); $elements = array(5 => 'Test element 5', 6 => 'Test element 6', 0 => 'Test element 0'); foreach ($elements as $priority => $element) { $pl->add($element, $priority); } // add at a colliding priority $pl->add('Colliding element', 5); // should float to the top closest to 5, so 7 $this->assertEquals(7, $pl->getPriority('Colliding element')); }