1.20.x menu.test MenuTreeOutputTestCase::testMenuTreeData()

Validate the generation of a proper menu tree output.

File

modules/simpletest/tests/menu.test, line 902
Provides SimpleTests for menu.inc.

Class

MenuTreeOutputTestCase
Menu tree output related tests.

Code

function testMenuTreeData() {
  $output = menu_tree_output($this->tree_data);

  // Validate that the - in main-menu is changed into an underscore
  $this->assertEqual($output['1']['#theme'], 'menu_link__main_menu', 'Hyphen is changed to a underscore on menu_link');
  $this->assertEqual($output['#theme_wrappers'][0], 'menu_tree__main_menu', 'Hyphen is changed to a underscore on menu_tree wrapper');
  // Looking for child items in the data
  $this->assertEqual($output['1']['#below']['2']['#href'], 'a/b', 'Checking the href on a child item');
  $this->assertTrue(in_array('active-trail', $output['1']['#below']['2']['#attributes']['class']), 'Checking the active trail class');
  // Validate that the hidden and no access items are missing
  $this->assertFalse(isset($output['5']), 'Hidden item should be missing');
  $this->assertFalse(isset($output['6']), 'False access should be missing');
  // Item 7 is after a couple hidden items. Just to make sure that 5 and 6 are skipped and 7 still included
  $this->assertTrue(isset($output['7']), 'Item after hidden items is present');
}