Example #1
0
 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'));
 }