tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_addressComponent_street_address.js (2634B)


      1 "use strict";
      2 
      3 const VALID_TESTS = [
      4  ["123 Main St. Apt 4, Floor 2", true],
      5  ["This is a street", true],
      6  ["A", true],
      7  ["住址", true],
      8  ["!#%&'*+", false],
      9  ["1234", false],
     10 ];
     11 
     12 const COMPARE_TESTS = [
     13  { region: "US" },
     14  ["123 Main St.", "123 Main St.", SAME], // Exactly the same with only street number and street name
     15  ["123 Main St. Apt 4, Floor 2", "123 Main St. Apt 4, Floor 2", SAME],
     16  ["123 Main St. Apt 4A, Floor 2", "123 main St. Apt 4a, Floor 2", SAME],
     17  ["123 Main St. Apt 4, Floor 2", "123 Main St. Suite 4, 2nd fl", SAME], // Exactly the same after parsing
     18  ["Main St.", "Main St.", SAME], // Exactly the same with only street name
     19  ["Main St.", "main st.", SAME], // Exactly the same with only street name (case-insenstive)
     20 
     21  ["123 Main St.", "Main St.", A_CONTAINS_B], // Street number is mergeable
     22  ["123 Main Lane St.", "123 Main St.", A_CONTAINS_B], // Street name is mergeable
     23  ["123 Main St. Apt 4", "Main St.", A_CONTAINS_B], // Apartment number is mergeable
     24  ["123 Main St. Apt 4, Floor 2", "123 Main St., Floor 2", A_CONTAINS_B],
     25  ["123 Main St. Floor 2", "Main St.", A_CONTAINS_B], // Floor number is mergeable
     26  ["123 Main St. Apt 4, Floor 2", "123 Main St. Apt 4", A_CONTAINS_B],
     27  ["123 North-South Road", "123 North South Road", SIMILAR], // Street number is mergeable
     28 
     29  ["123 Main St. Apt 4, Floor 2", "1234 Main St. Apt 4, Floor 2", DIFFERENT], // Street number is different
     30  ["123 Main St. Apt 4, Floor 2", "123 Mainn St. Apt 4, Floor 2", DIFFERENT], // Street name is different
     31  [
     32    "123 Lane Main St. Apt 4, Floor 2",
     33    "123 Main Lane St. Apt 4, Floor 2",
     34    DIFFERENT,
     35  ], // Street name is different (token not in order)
     36  ["123 Main St. Apt 4, Floor 2", "123 Main St. Apt 41, Floor 2", DIFFERENT], // Apartment number is different
     37  ["123 Main St. Apt 4, Floor 2", "123 Main St. Apt 4, Floor 22", DIFFERENT], // Floor number is different
     38 
     39  ["123 Main St. Apt 4, Floor 2", "123 Main St. Floor 2, Apt 4", DIFFERENT],
     40 
     41  // When address cannot be parsed
     42  ["Any Address", "any address", SAME],
     43  ["Any Address 4F", "Any Address", A_CONTAINS_B],
     44  ["An Any Address 4F", "Any Address", A_CONTAINS_B],
     45  ["Any Address", "Address Any", DIFFERENT],
     46  ["Any Address", "Other Address", DIFFERENT],
     47 ];
     48 
     49 const TEST_FIELD_NAME = "street-address";
     50 
     51 add_setup(async () => {});
     52 
     53 add_task(async function test_isValid() {
     54  runIsValidTest(VALID_TESTS, TEST_FIELD_NAME, value => {
     55    return { "street-address": value };
     56  });
     57 });
     58 
     59 add_task(async function test_compare() {
     60  runCompareTest(COMPARE_TESTS, TEST_FIELD_NAME, value => {
     61    return { "street-address": value };
     62  });
     63 });