Пример #1
0
 public function testReordering()
 {
     $menu = new MenuItem('root');
     $menu->getRenderer()->setRenderCompressed(true);
     $menu->addChild('c1');
     $menu->addChild('c2');
     $menu->addChild('c3');
     $menu->addChild('c4');
     $menu['c3']->moveToFirstPosition();
     $arr = array_keys($menu->getChildren());
     $this->assertEquals(array('c3', 'c1', 'c2', 'c4'), $arr);
     $menu['c2']->moveToLastPosition();
     $arr = array_keys($menu->getChildren());
     $this->assertEquals(array('c3', 'c1', 'c4', 'c2'), $arr);
     $menu['c1']->moveToPosition(2);
     $arr = array_keys($menu->getChildren());
     $this->assertEquals(array('c3', 'c4', 'c1', 'c2'), $arr);
     $menu->reorderChildren(array('c4', 'c3', 'c2', 'c1'));
     $arr = array_keys($menu->getChildren());
     $this->assertEquals(array('c4', 'c3', 'c2', 'c1'), $arr);
     $this->assertEquals('<ul><li class="first">c4</li><li>c3</li><li>c2</li><li class="last">c1</li></ul>', $menu->render());
 }