Index: admin_menu.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/admin_menu.inc,v
retrieving revision 1.80
diff -u -p -r1.80 admin_menu.inc
--- admin_menu.inc	6 Jan 2011 23:47:41 -0000	1.80
+++ admin_menu.inc	30 Jan 2011 06:17:26 -0000
@@ -378,7 +378,7 @@ function admin_menu_links_menu($tree) {
       continue;
     }
     // Remove local tasks on 'admin'.
-    if (in_array($data['link']['router_path'], array('admin/by-task', 'admin/by-module'))) {
+    if (in_array($data['link']['router_path'], array('admin/tasks', 'admin/index'))) {
       continue;
     }
     // Omit alias lookups.
Index: tests/admin_menu.test
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/admin_menu/tests/admin_menu.test,v
retrieving revision 1.15
diff -u -p -r1.15 admin_menu.test
--- tests/admin_menu.test	20 Feb 2010 02:17:55 -0000	1.15
+++ tests/admin_menu.test	30 Jan 2011 06:02:58 -0000
@@ -10,10 +10,11 @@
  * Base class for all administration menu web test cases.
  */
 class AdminMenuWebTestCase extends DrupalWebTestCase {
-  function setUp() {
+
+  function setUp($modules = array()) {
     // Enable admin menu module and any other modules.
-    $args = func_get_args();
-    call_user_func_array(array($this, 'parent::setUp'), array_merge(array('admin_menu'), $args));
+    $modules[] = 'admin_menu';
+    parent::setUp($modules);
 
     // Disable client-side caching.
     variable_set('admin_menu_cache_client', FALSE);
@@ -59,7 +60,7 @@ class AdminMenuPermissionsTestCase exten
   public static function getInfo() {
     return array(
       'name' => 'Menu link permissions',
-      'description' => 'Verify that menu is displayed according to user permissions.',
+      'description' => 'Tests adherence to user permission restrictions.',
       'group' => 'Administration menu',
     );
   }
@@ -125,8 +126,8 @@ class AdminMenuLinksTestCase extends Adm
 
     // Create and log in a full-blown administrative user.
     $permissions = module_invoke_all('permission');
-    $admin_user = $this->drupalCreateUser(array_keys($permissions));
-    $this->admin_user = $this->drupalLogin($admin_user);
+    $this->admin_user = $this->drupalCreateUser(array_keys($permissions));
+    $this->drupalLogin($this->admin_user);
   }
 
   /**
@@ -170,3 +171,68 @@ class AdminMenuLinksTestCase extends Adm
   }
 }
 
+/**
+ * Tests menu customizations.
+ */
+class AdminMenuCustomTestCase extends AdminMenuWebTestCase {
+  protected $profile = 'testing';
+
+  public static function getInfo() {
+    return array(
+      'name' => 'Customizations',
+      'description' => 'Tests menu customizations.',
+      'group' => 'Administration menu',
+    );
+  }
+
+  function setUp() {
+    parent::setUp(array('menu'));
+
+    $this->admin_user = $this->drupalCreateUser(array(
+      'access administration menu',
+      'access administration pages',
+      'administer menu',
+    ));
+    $this->drupalLogin($this->admin_user);
+
+    $this->nodeType = $this->drupalCreateContentType();
+  }
+
+  /**
+   * Test link contents.
+   */
+  function testDisabledCustomLink() {
+    $node = $this->drupalCreateNode(array('type' => $this->nodeType->type));
+
+    $text = $this->randomName();
+    $xpath = $this->buildXPathQuery('//div[@id=:id]/descendant::a[contains(text(), :text)]', array(
+      ':id' => 'admin-menu',
+      ':text' => $text,
+    ));
+    $elements = $this->xpath($xpath);
+    $this->assertFalse($elements, 'Custom link not found.');
+
+    $mlid_admin = db_query("SELECT mlid FROM {menu_links} WHERE menu_name = 'management' AND link_path = 'admin'")->fetchField();
+    $edit = array(
+      'link_path' => 'node/' . $node->nid,
+      'link_title' => $text,
+      'parent' => 'management:' . $mlid_admin,
+    );
+    $this->drupalPost('admin/structure/menu/manage/management/add', $edit, t('Save'));
+
+    $this->drupalGet('');
+    $elements = $this->xpath($xpath);
+    $this->assertTrue($elements, 'Custom link found.');
+
+    $mlid = db_query("SELECT mlid FROM {menu_links} WHERE menu_name = 'management' AND link_path = 'node/" . $node->nid . "'")->fetchField();
+    $edit = array(
+      'enabled' => FALSE,
+    );
+    $this->drupalPost('admin/structure/menu/item/' . $mlid . '/edit', $edit, t('Save'));
+
+    $this->drupalGet('');
+    $elements = $this->xpath($xpath);
+    $this->assertFalse($elements, 'Disabled custom link not found.');
+  }
+}
+
