summaryrefslogtreecommitdiffstats
path: root/browser/extensions/formautofill/test/unit/test_addressComponent_street_address.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/extensions/formautofill/test/unit/test_addressComponent_street_address.js')
-rw-r--r--browser/extensions/formautofill/test/unit/test_addressComponent_street_address.js56
1 files changed, 56 insertions, 0 deletions
diff --git a/browser/extensions/formautofill/test/unit/test_addressComponent_street_address.js b/browser/extensions/formautofill/test/unit/test_addressComponent_street_address.js
new file mode 100644
index 0000000000..83f1cd7ef3
--- /dev/null
+++ b/browser/extensions/formautofill/test/unit/test_addressComponent_street_address.js
@@ -0,0 +1,56 @@
+"use strict";
+
+const VALID_TESTS = [
+ ["123 Main St. Apt 4, Floor 2", true],
+ ["This is a street", true],
+ ["A", true],
+ ["住址", true],
+ ["!#%&'*+", false],
+ ["1234", false],
+];
+
+const COMPARE_TESTS = [
+ { region: "US" },
+ ["123 Main St.", "123 Main St.", SAME], // Exactly the same with only street number and street name
+ ["123 Main St. Apt 4, Floor 2", "123 Main St. Apt 4, Floor 2", SAME],
+ ["123 Main St. Apt 4A, Floor 2", "123 main St. Apt 4a, Floor 2", SAME],
+ ["123 Main St. Apt 4, Floor 2", "123 Main St. Suite 4, 2nd fl", SAME], // Exactly the same after parsing
+ ["Main St.", "Main St.", SAME], // Exactly the same with only street name
+ ["Main St.", "main st.", SAME], // Exactly the same with only street name (case-insenstive)
+
+ ["123 Main St.", "Main St.", A_CONTAINS_B], // Street number is mergeable
+ ["123 Main Lane St.", "123 Main St.", A_CONTAINS_B], // Street name is mergeable
+ ["123 Main St. Apt 4", "Main St.", A_CONTAINS_B], // Apartment number is mergeable
+ ["123 Main St. Apt 4, Floor 2", "123 Main St., Floor 2", A_CONTAINS_B],
+ ["123 Main St. Floor 2", "Main St.", A_CONTAINS_B], // Floor number is mergeable
+ ["123 Main St. Apt 4, Floor 2", "123 Main St. Apt 4", A_CONTAINS_B],
+ ["123 North-South Road", "123 North South Road", SIMILAR], // Street number is mergeable
+
+ ["123 Main St. Apt 4, Floor 2", "1234 Main St. Apt 4, Floor 2", DIFFERENT], // Street number is different
+ ["123 Main St. Apt 4, Floor 2", "123 Mainn St. Apt 4, Floor 2", DIFFERENT], // Street name is different
+ [
+ "123 Lane Main St. Apt 4, Floor 2",
+ "123 Main Lane St. Apt 4, Floor 2",
+ DIFFERENT,
+ ], // Street name is different (token not in order)
+ ["123 Main St. Apt 4, Floor 2", "123 Main St. Apt 41, Floor 2", DIFFERENT], // Apartment number is different
+ ["123 Main St. Apt 4, Floor 2", "123 Main St. Apt 4, Floor 22", DIFFERENT], // Floor number is different
+
+ ["123 Main St. Apt 4, Floor 2", "123 Main St. Floor 2, Apt 4", DIFFERENT], //
+];
+
+const TEST_FIELD_NAME = "StreetAddress";
+
+add_setup(async () => {});
+
+add_task(async function test_isValid() {
+ runIsValidTest(VALID_TESTS, TEST_FIELD_NAME, value => {
+ return { "street-address": value };
+ });
+});
+
+add_task(async function test_compare() {
+ runCompareTest(COMPARE_TESTS, TEST_FIELD_NAME, value => {
+ return { "street-address": value };
+ });
+});