/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// This test verifies that install of web extensions sync to other profiles.
// It's more or less copied from test_addon_restartless_xpi with a different id.
EnableEngines([
"addons"]);
var phases = {
phase01:
"profile1",
phase02:
"profile2",
phase03:
"profile1",
phase04:
"profile2",
phase05:
"profile1",
phase06:
"profile2",
phase07:
"profile1",
phase08:
"profile2",
};
const id =
"test-webext@quality.mozilla.org";
// Verify install is synced
Phase(
"phase01", [
[Addons.verifyNot, [id]],
[Addons.install, [id]],
[Addons.verify, [id], STATE_ENABLED],
[Sync],
]);
Phase(
"phase02", [
[Addons.verifyNot, [id]],
[Sync],
[Addons.verify, [id], STATE_ENABLED],
]);
// Now disable and see that is is synced.
Phase(
"phase03", [
[EnsureTracking],
[Addons.setEnabled, [id], STATE_DISABLED],
[Addons.verify, [id], STATE_DISABLED],
[Sync],
]);
Phase(
"phase04", [[Sync], [Addons.verify, [id], STATE_DISABLED]]);
// Enable and see it is synced.
Phase(
"phase05", [
[EnsureTracking],
[Addons.setEnabled, [id], STATE_ENABLED],
[Addons.verify, [id], STATE_ENABLED],
[Sync],
]);
Phase(
"phase06", [[Sync], [Addons.verify, [id], STATE_ENABLED]]);
// Uninstall and see it is synced.
Phase(
"phase07", [
[EnsureTracking],
[Addons.verify, [id], STATE_ENABLED],
[Addons.uninstall, [id]],
[Addons.verifyNot, [id]],
[Sync],
]);
Phase(
"phase08", [
[Addons.verify, [id], STATE_ENABLED],
[Sync],
[Addons.verifyNot, [id]],
]);