Bug 1393083 - [Form Autofill] CJK names should be combined in the order: familyName + givenName. r=steveck draft
authorLuke Chang <lchang@mozilla.com>
Wed, 23 Aug 2017 23:42:52 +0800
changeset 651341 affdcf1bf1991129da72450e20621d29f97f5669
parent 651207 b911a4c97fde5d8bdeebfd5d0266ee9f7b9e59b2
child 727679 31e503f157a9871f15d76451e86cd35ff936bc72
push id75691
push userbmo:lchang@mozilla.com
push dateWed, 23 Aug 2017 15:48:15 +0000
reviewerssteveck
bugs1393083
milestone57.0a1
Bug 1393083 - [Form Autofill] CJK names should be combined in the order: familyName + givenName. r=steveck MozReview-Commit-ID: DnRKx60dsUX
browser/extensions/formautofill/FormAutofillNameUtils.jsm
browser/extensions/formautofill/test/unit/test_transformFields.js
--- a/browser/extensions/formautofill/FormAutofillNameUtils.jsm
+++ b/browser/extensions/formautofill/FormAutofillNameUtils.jsm
@@ -272,16 +272,16 @@ var FormAutofillNameUtils = {
 
     // Remainder is given name.
     nameParts.given = nameTokens.join(" ");
 
     return nameParts;
   },
 
   joinNameParts({given, middle, family}) {
-    if (this._isCJKName(given) && this._isCJKName(family) && middle == "") {
+    if (this._isCJKName(given) && this._isCJKName(family) && !middle) {
       return family + given;
     }
     return [given, middle, family].filter(part => part && part.length).join(" ");
   },
 };
 
 FormAutofillNameUtils.init();
--- a/browser/extensions/formautofill/test/unit/test_transformFields.js
+++ b/browser/extensions/formautofill/test/unit/test_transformFields.js
@@ -28,16 +28,28 @@ const ADDRESS_COMPUTE_TESTCASES = [
     },
     expectedResult: {
       "given-name": "Timothy",
       "additional-name": "John",
       "family-name": "Berners-Lee",
       "name": "Timothy John Berners-Lee",
     },
   },
+  {
+    description: "Has split CJK names",
+    address: {
+      "given-name": "德明",
+      "family-name": "孫",
+    },
+    expectedResult: {
+      "given-name": "德明",
+      "family-name": "孫",
+      "name": "孫德明",
+    },
+  },
 
   // Address
   {
     description: "\"street-address\" with single line",
     address: {
       "street-address": "single line",
     },
     expectedResult: {