forked from mirrors/gecko-dev
35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
"use strict";
|
|
|
|
const { Schemas } = ChromeUtils.importESModule(
|
|
"resource://gre/modules/Schemas.sys.mjs"
|
|
);
|
|
|
|
/**
|
|
* If this test fails, likely nsIClassifiedChannel has added or changed a
|
|
* CLASSIFIED_* flag. Those changes must be in sync with
|
|
* ChannelWrapper.webidl/cpp and the web_request.json schema file.
|
|
*/
|
|
add_task(async function test_webrequest_url_classification_enum() {
|
|
// use normalizeManifest to get the schema loaded.
|
|
await ExtensionTestUtils.normalizeManifest({ permissions: ["webRequest"] });
|
|
|
|
let ns = Schemas.getNamespace("webRequest");
|
|
let schema_enum = ns.get("UrlClassificationFlags").enumeration;
|
|
ok(
|
|
!!schema_enum.length,
|
|
`UrlClassificationFlags: ${JSON.stringify(schema_enum)}`
|
|
);
|
|
|
|
let prefix = /^(?:CLASSIFIED_)/;
|
|
let entries = 0;
|
|
for (let c of Object.keys(Ci.nsIClassifiedChannel).filter(name =>
|
|
prefix.test(name)
|
|
)) {
|
|
let entry = c.replace(prefix, "").toLowerCase();
|
|
if (!entry.startsWith("socialtracking")) {
|
|
ok(schema_enum.includes(entry), `schema ${entry} is in IDL`);
|
|
entries++;
|
|
}
|
|
}
|
|
equal(schema_enum.length, entries, "same number of entries");
|
|
});
|