Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
const { InflightAssetsMessageProvider } = ChromeUtils.importESModule(
);
const MESSAGE_VALIDATORS = {};
let EXPERIMENT_VALIDATOR;
add_setup(async function setup() {
const validators = await makeValidators();
EXPERIMENT_VALIDATOR = validators.experimentValidator;
Object.assign(MESSAGE_VALIDATORS, validators.messageValidators);
});
add_task(function test_InflightAssetsMessageProvider() {
const messages = InflightAssetsMessageProvider.getMessages();
for (const message of messages) {
const validator = MESSAGE_VALIDATORS[message.template];
Assert.ok(
typeof validator !== "undefined",
typeof validator !== "undefined"
? `Schema validator found for ${message.template}`
: `No schema validator found for template ${message.template}. Please update this test to add one.`
);
assertValidates(
validator,
message,
`Message ${message.id} validates as ${message.template} template`
);
assertValidates(
EXPERIMENT_VALIDATOR,
message,
`Message ${message.id} validates as a MessagingExperiment`
);
}
});