commit 7ae2dd45bf4e339cbb3f5ae7c491414cfcfbb38e
Author: edwardaa <edward.xu2011@gmail.com>
Date:   Mon Nov 23 11:19:33 2015 +0800

    Add test for realname user update hook

diff --git a/realname.test b/realname.test
index 8251bdc..23e23f1 100644
--- a/realname.test
+++ b/realname.test
@@ -43,6 +43,31 @@ class RealnameBasicTest extends DrupalWebTestCase {
   }
 
   /**
+   * Test realname user update hook.
+   */
+  public function testRealnameUserUpdate() {
+    variable_set('realname_pattern', '[user:name-raw]');
+    $user = $this->drupalCreateUser();
+    $uid = $user->uid;
+
+    $user1 = user_load($uid);
+    $realname1 = $user1->realname;
+
+    // Update user name.
+    $user1->name = $this->randomName();
+    user_save($user1);
+
+    // Load the same user again.
+    $user2 = user_load($uid);
+    $realname2 = $user2->realname;
+
+    // Check if realname changed.
+    $this->assertTrue($realname1);
+    $this->assertTrue($realname2);
+    $this->assertNotEqual($realname1, $realname2, '[testRealnameUserUpdate]: Real name changed.');
+  }
+
+  /**
    * Test realname configuration.
    */
   public function testRealnameConfiguration() {

commit 5db2826f253814deb80aacd7cabaf3eeb4377d16
Author: edwardaa <edward.xu2011@gmail.com>
Date:   Mon Nov 23 02:51:33 2015 +0800

    Reset realname cache for the updated user

diff --git a/realname.module b/realname.module
index bf5f0bb..6384e7d 100644
--- a/realname.module
+++ b/realname.module
@@ -140,8 +140,9 @@ function realname_user_load($accounts) {
  * Implements hook_user_update().
  */
 function realname_user_update(&$edit, $account, $category) {
-  // Since user data may have changed, update the realname.
-  realname_update($account);
+  // Since user data may have changed, update the realname and its cache.
+  $realnames = &drupal_static('realname_load_multiple', array());
+  $realnames[$account->uid] = realname_update($account);
 }
 
 /**
