Index: modules/simpletest/tests/menu.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/tests/menu.test,v
retrieving revision 1.3
diff -u -p -r1.3 menu.test
--- modules/simpletest/tests/menu.test	20 Nov 2008 07:18:59 -0000	1.3
+++ modules/simpletest/tests/menu.test	11 Dec 2008 13:44:45 -0000
@@ -51,7 +51,7 @@ class MenuRebuildTestCase extends Drupal
       'group' => t('Menu'),
     );
   }
-
+
   /**
    * Test if the 'menu_rebuild_needed' variable triggers a menu_rebuild() call.
    */
@@ -75,5 +75,37 @@ class MenuRebuildTestCase extends Drupal
     $admin_exists = db_result(db_query("SELECT path from {menu_router} WHERE path = 'admin'"));
     $this->assertEqual($admin_exists, 'admin', t("The menu has been rebuilt, the path 'admin' now exists again."));
   }
-
+
+}
+
+/**
+ * Testcase for the menu_set_item() function.
+ */
+class MenuSetItemTestCase extends DrupalWebTestCase {
+  function getInfo() {
+    return array(
+      'name' => t('Function menu_set_item test.'),
+      'description' => t('Tests if the menu_set_item function has the desired effects by comparing it to menu_get_item output'),
+      'group' => t('Menu'),
+    );
+  }
+
+  /**
+   * This function gets a menu item, changes it and sets it, then the two results are compared.
+   */
+  function testMenuSetItem() {
+    $original_item = menu_get_item('node');
+
+    $this->assertEqual($original_item['path'], 'node', t("Path from menu_get_item('node') is equal to 'node'"), 'menu');
+
+    // Say we want our original path modified for testing purposes,we have our existing path 'node' and want to change it to 'node_test'.
+    $original_item['path'] = 'node_test';
+    $original_item['href'] = 'node_test';
+
+    // To make clear this is a testnode, we prefix the title.
+    $original_item['title'] = 'Test: '. $original_item['title'];
+    $test_item = menu_set_item('node', $original_item);
+    $compare_item = menu_get_item('node');
+    $this->assertEqual($original_item, $compare_item, t("Modified item is equal to newly retrieved item."), 'menu');
+  }
 }
