Esempio n. 1
0
$menu2 = $menu->slice($menu['c2'], -2);
$t->is(array_keys($menu2->getChildren()), array('c2'), 'slice c2, -3');
$menu2 = $menu->slice("c2", "c2");
$t->is(array_keys($menu2->getChildren()), array('c2'), 'slice c2, c2');
$menu2 = $menu->slice(4);
$t->is(array_keys($menu2->getChildren()), array(), 'slice 4');
$menu2 = $menu->slice("c5");
$t->is(array_keys($menu2->getChildren()), array(), 'slice c5');
$menu2 = $menu->slice(0, 5);
$t->is(array_keys($menu2->getChildren()), array('c1', 'c2', 'c3', 'c4'), 'slice 0, 5');
$menu2 = $menu->slice("c1", "c5");
$t->is(array_keys($menu2->getChildren()), array('c1', 'c2', 'c3', 'c4'), 'slice c1, c5');
$menu2 = $menu->slice(0, 2);
$t->is($menu2->render(), '<ul class="menu"><li class="first">c1<ul class="menu_level_1"><li class="first">gc1</li><li class="last">gc2</li></ul></li><li class="last">c2</li></ul>', 'proper rendering after slice');
$t->info('12 - Test split');
extract($menu->split(1));
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1'), array('c2', 'c3', 'c4')), 'split 1');
extract($menu->split("c1"));
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1'), array('c2', 'c3', 'c4')), 'split c1');
extract($menu->split(2));
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1', 'c2'), array('c3', 'c4')), 'split 2');
extract($menu->split("c2"));
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1', 'c2'), array('c3', 'c4')), 'split c2');
extract($menu->split(4));
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1', 'c2', 'c3', 'c4'), array()), 'split 4');
extract($menu->split("c4"));
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1', 'c2', 'c3', 'c4'), array()), 'split c4');
extract($menu->split(5));
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1', 'c2', 'c3', 'c4'), array()), 'split 5');
extract($menu->split("c5"));
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1', 'c2', 'c3', 'c4'), array()), 'split c5');
Esempio n. 2
0
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1', 'c2', 'c3', 'c4'), array()), 'split c4');
extract($menu->split(5));
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1', 'c2', 'c3', 'c4'), array()), 'split 5');
extract($menu->split("c5"));
$t->is(array(array_keys($primary->getChildren()), array_keys($secondary->getChildren())), array(array('c1', 'c2', 'c3', 'c4'), array()), 'split c5');
extract($menu->split(2));
$t->ok($primary['c1']->getParent() !== $secondary['c3']->getParent(), 'primary->c1 and secondary->c3 have two distinct fathers');
$t->is($primary->render(), '<ul class="menu"><li class="first">c1<ul class="menu_level_1"><li class="first">gc1</li><li class="last">gc2</li></ul></li><li class="last">c2</li></ul>', 'proper rendering of primary after slice');
$t->is($secondary->render(), '<ul class="menu"><li class="first">c3</li><li class="last">c4</li></ul>', 'proper rendering of secondary after slice');
$t->info('13 - Test menu tree property');
$menu = new ioMenuItem('root');
$menu->addChild('c1');
$menu['c1']->addChild('gc1');
$menu['c1']->addChild('gc2');
$menu->addChild('c2');
$menu->addChild('c3');
$menu->addChild('c4');
$c1 = $menu['c1'];
$t->ok($menu->getTree() === $c1->getTree(), 'root and c1 has same tree');
$menu->removeChild($c1);
$t->ok($menu->getTree() !== $c1->getTree(), 'root and c1 has different tree');
$t->ok($menu->getTree()->getRootItem() === $menu, 'root->getTree()->getRootItem() returns root');
$t->ok($c1['gc1']->getTree()->getRootItem() === $c1, 'c1[gc1]->getTree()->getRootItem() returns c1');
$menu->addChild($c1);
$t->ok($menu->getTree() === $c1->getTree(), 'root and c1 has same tree');
$t->ok($c1['gc1']->getTree()->getRootItem() === $menu, 'c1[gc1]->getTree()->getRootItem() returns root');
extract($menu->split(2));
$t->ok($primary['c2']->getTree() !== $secondary['c1']->getTree(), 'primary->c2 and secondary->c1 have two distinct trees');
// used for benchmarking
$timer->addTime();
$t->info('Test completed in ' . $timer->getElapsedTime());