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); }