? node_save_test.patch
? sites/default/files
? sites/default/settings.php
Index: modules/node/node.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.test,v
retrieving revision 1.22
diff -u -r1.22 node.test
--- modules/node/node.test	25 Apr 2009 17:52:43 -0000	1.22
+++ modules/node/node.test	30 Apr 2009 18:31:07 -0000
@@ -715,4 +715,29 @@
     $node_by_title = $this->drupalGetNodeByTitle($title);
     $this->assertTrue($node_by_title, t('Node load by node title.'));
   }
+
+  /**
+   * Test that updating a node via node_save() updates the
+   * cache for that node
+   */
+  function testNodeSaveClearsCache() {
+    $node = new stdClass;
+    $node->type = "article";
+    $node->body = "Basset hounds got long ears";
+    $node->uid  = $this->web_user->uid;
+    
+    /* Save the new node then reload it to make sure its cached */
+    node_save($node);
+    $nid = $node->nid;
+    $node = node_load($node->nid);
+    $this->assertEqual($node->body, "Basset hounds got long ears");
+    $this->assertEqual($node->nid, $nid, "same nid");
+
+    /* Now change it and check node_load() sees the change */
+    $node->body = "Great green globs";
+    node_save($node);
+    $node = node_load($node->nid);
+    $this->assertEqual($node->body, "Great green globs");
+    $this->assertEqual($node->nid, $nid, "same nid");
+  }
 }
