64 lines
1.3 KiB
JavaScript
64 lines
1.3 KiB
JavaScript
"use strict";
|
|
|
|
var FormAutofillUtils;
|
|
add_setup(async () => {
|
|
({ FormAutofillUtils } = ChromeUtils.importESModule(
|
|
"resource://gre/modules/shared/FormAutofillUtils.sys.mjs"
|
|
));
|
|
});
|
|
|
|
add_task(async function test_getCategoriesFromFieldNames() {
|
|
const TEST_CASES = [
|
|
{
|
|
strings: ["A", "B", "C", "D"],
|
|
expectedValue: "A B C D",
|
|
},
|
|
{
|
|
strings: ["A", "B", "", "D"],
|
|
expectedValue: "A B D",
|
|
},
|
|
{
|
|
strings: ["", "B", "", "D"],
|
|
expectedValue: "B D",
|
|
},
|
|
{
|
|
strings: [null, "B", " ", "D"],
|
|
expectedValue: "B D",
|
|
},
|
|
{
|
|
strings: "A B C",
|
|
expectedValue: "A B C",
|
|
},
|
|
{
|
|
strings: "A\nB\n\n\nC",
|
|
expectedValue: "A B C",
|
|
},
|
|
{
|
|
strings: "A B \nC",
|
|
expectedValue: "A B C",
|
|
},
|
|
{
|
|
strings: "A-B-C",
|
|
expectedValue: "A B C",
|
|
delimiter: "-",
|
|
},
|
|
{
|
|
strings: "A B\n \nC",
|
|
expectedValue: "A B C",
|
|
},
|
|
{
|
|
strings: null,
|
|
expectedValue: "",
|
|
},
|
|
];
|
|
|
|
for (let tc of TEST_CASES) {
|
|
let result;
|
|
if (tc.delimiter) {
|
|
result = FormAutofillUtils.toOneLineAddress(tc.strings, tc.delimiter);
|
|
} else {
|
|
result = FormAutofillUtils.toOneLineAddress(tc.strings);
|
|
}
|
|
Assert.equal(result, tc.expectedValue);
|
|
}
|
|
});
|