$menu2 = $menu->copy();
$t->ok($menu2 !== $menu, 'menu2 is another instance then menu');
$t->ok($menu2['Parent 1'] !== $menu['Parent 1'], 'menu2->pt1 is another instance than menu->pt1');
$t->ok($menu2['Parent 1']['Child 2'] !== $menu['Parent 1']['Child 2'], 'menu2->pt1->ch2 is another instance than menu->pt1->ch2');
$t->ok($menu2['Parent 1']['Child 2']->getParent() === $menu2['Parent 1'], 'menu2->pt1->ch2->parent is same instance as menu2->pt1');
$t->ok($menu2['Parent 1']->getParent() === $menu2, 'menu2->pt1->parent is same instance as menu2');
//$t->ok($menu2['Parent 1']->getParent() !== $menu['Parent 1'], 'menu2->pt1->ch2->parent is same instance as menu->pt1');
$t->info('11 - Test slice');
$menu = new ioMenuItem('root');
$menu->addChild('c1');
$menu['c1']->addChild('gc1');
$menu['c1']->addChild('gc2');
$menu->addChild('c2');
$menu->addChild('c3');
$menu->addChild('c4');
$menu2 = $menu->slice(0, 3);
$t->is(array_keys($menu2->getChildren()), array('c1', 'c2', 'c3'), 'slice 0, 3');
$menu2 = $menu->slice(0, "c3");
$t->is(array_keys($menu2->getChildren()), array('c1', 'c2', 'c3'), 'slice 0, c3');
$menu2 = $menu->slice("c1", "c3");
$t->is(array_keys($menu2->getChildren()), array('c1', 'c2', 'c3'), 'slice c1, c3');
$menu2 = $menu->slice($menu['c1'], $menu['c3']);
$t->is(array_keys($menu2->getChildren()), array('c1', 'c2', 'c3'), 'slice c1, c3');
$menu2 = $menu->slice(1, 2);
$t->is(array_keys($menu2->getChildren()), array('c2', 'c3'), 'slice 1, 2');
$menu2 = $menu->slice(1, "c3");
$t->is(array_keys($menu2->getChildren()), array('c2', 'c3'), 'slice 1, c3');
$menu2 = $menu->slice("c2", "c3");
$t->is(array_keys($menu2->getChildren()), array('c2', 'c3'), 'slice c2, c3');
$menu2 = $menu->slice($menu['c2'], $menu['c3']);
$t->is(array_keys($menu2->getChildren()), array('c2', 'c3'), 'slice c2, c3');