Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

"use strict";
/* global FormAutofillHeuristics: true */
const KNOWN_NAMES = {
"cc-name": ["cc-name", "card-name", "cardholder-name", "cardholder"],
"cc-number": [
"cc-number",
"cc-num",
"card-number",
"card-num",
"number",
"cc",
"cc-no",
"card-no",
"credit-card",
"numero-carte",
"carte",
"carte-credit",
"num-carte",
"cb-num",
],
"cc-exp": [
"cc-exp",
"card-exp",
"cc-expiration",
"card-expiration",
"cc-ex",
"card-ex",
"card-expire",
"card-expiry",
"validite",
"expiration",
"expiry",
"mm-yy",
"mm-yyyy",
"yy-mm",
"yyyy-mm",
"expiration-date",
"payment-card-expiration",
"payment-cc-date",
],
"cc-exp-month": [
"exp-month",
"cc-exp-month",
"cc-month",
"card-month",
"cc-mo",
"card-mo",
"exp-mo",
"card-exp-mo",
"cc-exp-mo",
"card-expiration-month",
"expiration-month",
"cc-mm",
"cc-m",
"card-mm",
"card-m",
"card-exp-mm",
"cc-exp-mm",
"exp-mm",
"exp-m",
"expire-month",
"expire-mo",
"expiry-month",
"expiry-mo",
"card-expire-month",
"card-expire-mo",
"card-expiry-month",
"card-expiry-mo",
"mois-validite",
"mois-expiration",
"m-validite",
"m-expiration",
"expiry-date-field-month",
"expiration-date-month",
"expiration-date-mm",
"exp-mon",
"validity-mo",
"exp-date-mo",
"cb-date-mois",
"date-m",
],
"cc-exp-year": [
"exp-year",
"cc-exp-year",
"cc-year",
"card-year",
"cc-yr",
"card-yr",
"exp-yr",
"card-exp-yr",
"cc-exp-yr",
"card-expiration-year",
"expiration-year",
"cc-yy",
"cc-y",
"card-yy",
"card-y",
"card-exp-yy",
"cc-exp-yy",
"exp-yy",
"exp-y",
"cc-yyyy",
"card-yyyy",
"card-exp-yyyy",
"cc-exp-yyyy",
"expire-year",
"expire-yr",
"expiry-year",
"expiry-yr",
"card-expire-year",
"card-expire-yr",
"card-expiry-year",
"card-expiry-yr",
"an-validite",
"an-expiration",
"annee-validite",
"annee-expiration",
"expiry-date-field-year",
"expiration-date-year",
"cb-date-ann",
"expiration-date-yy",
"expiration-date-yyyy",
"validity-year",
"exp-date-year",
"date-y",
],
};
add_setup(async () => {
({ FormAutofillHeuristics } = ChromeUtils.importESModule(
));
});
for (let field in KNOWN_NAMES) {
KNOWN_NAMES[field].forEach(name => {
add_task(async () => {
ok(
FormAutofillHeuristics.testRegex(
FormAutofillHeuristics.RULES[field],
name
),
`RegExp for ${field} matches string '${name}'`
);
});
});
}