summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/extensions/test/browser/browser_checkAddonCompatibility.js
blob: 9cea5b50452e55ea3963efea5cad167e0181b117 (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
26
27
28
29
30
31
32
33
34
35
36
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/
 */

// Test that all bundled add-ons are compatible.

async function test() {
  waitForExplicitFinish();

  Services.prefs.setBoolPref(PREF_STRICT_COMPAT, true);
  ok(
    AddonManager.strictCompatibility,
    "Strict compatibility should be enabled"
  );

  let aAddons = await AddonManager.getAllAddons();
  aAddons.sort(function compareTypeName(a, b) {
    return a.type.localeCompare(b.type) || a.name.localeCompare(b.name);
  });

  let allCompatible = true;
  for (let a of aAddons) {
    // Ignore plugins.
    if (a.type == "plugin" || a.id == "workerbootstrap-test@mozilla.org") {
      continue;
    }

    ok(
      a.isCompatible,
      a.type + " " + a.name + " " + a.version + " should be compatible"
    );
    allCompatible = allCompatible && a.isCompatible;
  }

  finish();
}