<?php
namespace Drupal\system\Tests\Menu;
use Drupal\simpletest\UnitTestBase;
class TreeDataUnitTest extends UnitTestBase {
var $links = array(
1 => array(
'mlid' => 1,
'depth' => 1,
),
2 => array(
'mlid' => 2,
'depth' => 1,
),
3 => array(
'mlid' => 3,
'depth' => 2,
),
4 => array(
'mlid' => 4,
'depth' => 3,
),
5 => array(
'mlid' => 5,
'depth' => 1,
),
);
public static function getInfo() {
return array(
'name' => 'Menu tree generation',
'description' => 'Tests recursive menu tree generation functions.',
'group' => 'Menu',
);
}
function testMenuTreeData() {
$tree = menu_tree_data($this->links);
$this
->assertSameLink($this->links[1], $tree[1]['link'], 'Parent item #1 exists.');
$this
->assertSameLink($this->links[2], $tree[2]['link'], 'Parent item #2 exists.');
$this
->assertSameLink($this->links[5], $tree[5]['link'], 'Parent item #5 exists.');
$this
->assertSameLink($this->links[4], $tree[2]['below'][3]['below'][4]['link'], 'Child item #4 exists in the hierarchy.');
}
protected function assertSameLink($link1, $link2, $message = '') {
return $this
->assert($link1['mlid'] == $link2['mlid'], $message ?: 'First link is identical to second link');
}
}