From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- .../test/unit/head_addressComponent.js | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 browser/extensions/formautofill/test/unit/head_addressComponent.js (limited to 'browser/extensions/formautofill/test/unit/head_addressComponent.js') diff --git a/browser/extensions/formautofill/test/unit/head_addressComponent.js b/browser/extensions/formautofill/test/unit/head_addressComponent.js new file mode 100644 index 0000000000..472e4ee589 --- /dev/null +++ b/browser/extensions/formautofill/test/unit/head_addressComponent.js @@ -0,0 +1,69 @@ +"use strict"; + +/* exported BOTH_EMPTY, A_IS_EMPTY, B_IS_EMPTY, A_CONTAINS_B, B_CONTAINS_A, SIMILAR, SAME, DIFFERENT, runIsValidTest, runCompareTest */ + +const { AddressComparison, AddressComponent } = ChromeUtils.importESModule( + "resource://gre/modules/shared/AddressComponent.sys.mjs" +); + +const { FormAutofill } = ChromeUtils.importESModule( + "resource://autofill/FormAutofill.sys.mjs" +); + +const BOTH_EMPTY = AddressComparison.BOTH_EMPTY; +const A_IS_EMPTY = AddressComparison.A_IS_EMPTY; +const B_IS_EMPTY = AddressComparison.B_IS_EMPTY; +const A_CONTAINS_B = AddressComparison.A_CONTAINS_B; +const B_CONTAINS_A = AddressComparison.B_CONTAINS_A; +const SIMILAR = AddressComparison.SIMILAR; +const SAME = AddressComparison.SAME; +const DIFFERENT = AddressComparison.DIFFERENT; + +function runIsValidTest(tests, fieldName, funcSetupRecord) { + let region = FormAutofill.DEFAULT_REGION; + for (const test of tests) { + if (!Array.isArray(test)) { + region = test.region; + info(`Change region to ${JSON.stringify(test.region)}`); + continue; + } + + const [testValue, expected] = test; + const record = funcSetupRecord(testValue); + + const field = new AddressComponent(record, region).getField(fieldName); + const result = field.isValid(); + Assert.equal( + result, + expected, + `Expect isValid returns ${expected} for ${testValue}` + ); + } +} + +function runCompareTest(tests, fieldName, funcSetupRecord) { + let region = FormAutofill.DEFAULT_REGION; + for (const test of tests) { + if (!Array.isArray(test)) { + info(`change region to ${JSON.stringify(test.region)}`); + region = test.region; + continue; + } + + const [v1, v2, expected] = test; + const r1 = funcSetupRecord(v1); + const f1 = new AddressComponent(r1, region).getField(fieldName); + + const r2 = funcSetupRecord(v2); + const f2 = new AddressComponent(r2, region).getField(fieldName); + + const result = AddressComparison.compare(f1, f2); + const resultString = AddressComparison.resultToString(result); + const expectedString = AddressComparison.resultToString(expected); + Assert.equal( + result, + expected, + `Expect ${expectedString} when comparing "${v1}" & "${v2}", got ${resultString}` + ); + } +} -- cgit v1.2.3