Index: modules/menu/menu.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu/menu.test,v
retrieving revision 1.2
diff -u -p -r1.2 menu.test
--- modules/menu/menu.test	30 May 2008 07:30:51 -0000	1.2
+++ modules/menu/menu.test	10 Sep 2008 20:55:22 -0000
@@ -433,3 +433,62 @@ class MenuTestCase extends DrupalWebTest
     }
   }
 }
+
+class MenuGetNames extends DrupalWebTestCase {
+  protected $big_user;
+  protected $my_names;
+  protected $my_names_2;
+  
+  /**
+   * Implementation of getInfo().
+   */
+  function getInfo() {
+    return array(
+      'name' => t('Test function menu_get_names()'),
+      'description' => t('Test if menu_get_names returns names, reset after addition/deletion of a menu item.'),
+      'group' => t('Menu')
+    );
+  }
+
+  /**
+   * Implementation of setUp().
+   */
+  function setUp() {
+    parent::setUp('menu');
+    // Create users.
+    $this->big_user = $this->drupalCreateUser(array('administer blocks', 'administer menu', 'create article content'));
+  }
+
+  /**
+   * Login users, test menu_get_names() function, add mane name.
+   */
+  function testMenuGetNames() {
+  
+    // Is $names filled at start?.
+    $my_names = menu_get_names();
+    $this->assertTrue(!empty($my_names), t('$names is not empty at start of test'));
+    
+    // Is names the same with $reset = FALSE ?
+    $my_names_2 = menu_get_names(FALSE);
+    $this->assertTrue($my_names == $my_names_2, t('$reset defaults to $reset = FALSE'));
+
+    // Is names the same with $reset = FALSE ?
+    $my_names_2 = menu_get_names(TRUE);
+    $this->assertTrue($my_names == $my_names_2, t('$names stays same with $reset = TRUE'));
+    
+    // Login the user.
+    $this->drupalLogin($this->big_user);
+    // Add a menu item
+    $item1 = MenuTestCase::addMenuItem(0, '<front>', 'main-menu');
+
+    // Is names the same with $reset = FALSE after adding a menuitem?
+    $my_names_2 = menu_get_names(FALSE);
+    $this->assertEqual($my_names == $my_names_2, t('$names stays same with $reset = FALSE and after adding a menuItem'));
+
+    // Is names the same with $reset = FALSE after adding a menuitem? Number of names upped exactly 1?
+    $my_names_2 = menu_get_names(TRUE);
+    $this->assertNotEqual($my_names, $my_names_2, t('$names changes with $reset = TRUE and after adding a menuItem'));
+    $this->assertEqual((count($my_names_2) - count($my_names)), 1, t('Number of Names 1 up after adding a menuItem'));
+    
+  }
+}
