summaryrefslogtreecommitdiffstats
path: root/browser/extensions/formautofill/test/unit/test_getCreditCardLogo.js
blob: e740d6102a51abc5dc4891b2b0d4c3beef7207a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

add_task(async function test_getCreditCardLogo() {
  const { CreditCard } = ChromeUtils.importESModule(
    "resource://gre/modules/CreditCard.sys.mjs"
  );
  // Credit card logos can be either PNG or SVG
  // so we construct an array that includes both of these file extensions
  // and test to see if the logo from getCreditCardLogo matches.
  for (let network of CreditCard.getSupportedNetworks()) {
    const PATH_PREFIX = "chrome://formautofill/content/third-party/cc-logo-";
    let actual = CreditCard.getCreditCardLogo(network);
    Assert.ok(
      [".png", ".svg"].map(x => PATH_PREFIX + network + x).includes(actual)
    );
  }
  let genericLogo = CreditCard.getCreditCardLogo("null");
  Assert.equal(
    genericLogo,
    "chrome://formautofill/content/icon-credit-card-generic.svg"
  );
});