function LinksTest::createLinkHierarchy

Create a simple hierarchy of links.

2 calls to LinksTest::createLinkHierarchy()

File

drupal/core/modules/system/lib/Drupal/system/Tests/Menu/LinksTest.php, line 27
Definition of Drupal\system\Tests\Menu\LinksTest.

Class

LinksTest
Tests for menu links.

Namespace

Drupal\system\Tests\Menu

Code

function createLinkHierarchy($module = 'menu_test') {

  // First remove all the menu links.
  $menu_links = menu_link_load_multiple();
  menu_link_delete_multiple(array_keys($menu_links), TRUE, TRUE);

  // Then create a simple link hierarchy:
  // - $parent
  //   - $child-1
  //      - $child-1-1
  //      - $child-1-2
  //   - $child-2
  $base_options = array(
    'link_title' => 'Menu link test',
    'module' => $module,
    'menu_name' => 'menu_test',
  );
  $links['parent'] = $base_options + array(
    'link_path' => 'menu-test/parent',
  );
  $links['parent'] = entity_create('menu_link', $links['parent']);
  $links['parent']
    ->save();
  $links['child-1'] = $base_options + array(
    'link_path' => 'menu-test/parent/child-1',
    'plid' => $links['parent']['mlid'],
  );
  $links['child-1'] = entity_create('menu_link', $links['child-1']);
  $links['child-1']
    ->save();
  $links['child-1-1'] = $base_options + array(
    'link_path' => 'menu-test/parent/child-1/child-1-1',
    'plid' => $links['child-1']['mlid'],
  );
  $links['child-1-1'] = entity_create('menu_link', $links['child-1-1']);
  $links['child-1-1']
    ->save();
  $links['child-1-2'] = $base_options + array(
    'link_path' => 'menu-test/parent/child-1/child-1-2',
    'plid' => $links['child-1']['mlid'],
  );
  $links['child-1-2'] = entity_create('menu_link', $links['child-1-2']);
  $links['child-1-2']
    ->save();
  $links['child-2'] = $base_options + array(
    'link_path' => 'menu-test/parent/child-2',
    'plid' => $links['parent']['mlid'],
  );
  $links['child-2'] = entity_create('menu_link', $links['child-2']);
  $links['child-2']
    ->save();
  return $links;
}