Пример #1
0
 function test_menu()
 {
     // Default menu items for no/unprivileged user
     // Numeric entries represent spacer lines
     $expected = array('home', 'search', 'marked', 'history', 'about');
     $module = new DummyModule();
     $menu = $module->menu();
     $this->assertTrue(is_array($menu));
     $this->assertIdentical($this->munge_menu($menu), $expected);
     $this->assertEqual($menu['home'], array('title' => $module->title, 'url' => $module->url() . '/'));
     $this->assertEqual($menu[0], array('type' => 'line'));
     // Normal user gets no extra options
     $user = new MockUser();
     $menu = $module->menu($user);
     $this->assertIdentical($this->munge_menu($menu), $expected);
     // If user has 'save_data' right then some extra options
     $expected = array('home', 'search', 'marked', 'history', 'saved', 'prefs', 'about');
     $user = new MockUser();
     $user->setReturnValue('has_right', true, array('save_data'));
     $menu = $module->menu($user);
     $this->assertIdentical($this->munge_menu($menu), $expected);
     // If save_search_enabled var is false then we lose the saved search option
     $module->saved_search_enabled = FALSE;
     $expected = array('home', 'search', 'marked', 'history', 'prefs', 'about');
     $user = new MockUser();
     $user->setReturnValue('has_right', true, array('save_data'));
     $menu = $module->menu($user);
     $this->assertIdentical($this->munge_menu($menu), $expected);
 }