1
0
Fork 0
firefox/toolkit/mozapps/extensions/test/xpcshell/head_amremotesettings.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

31 lines
1 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
ChromeUtils.defineESModuleGetters(this, {
RemoteSettings: "resource://services-settings/remote-settings.sys.mjs",
});
async function setAndEmitFakeRemoteSettingsData(
data,
expectClientInitialized = true
) {
const { AMRemoteSettings } = ChromeUtils.importESModule(
"resource://gre/modules/AddonManager.sys.mjs"
);
let client;
if (expectClientInitialized) {
ok(AMRemoteSettings.client, "Got a remote settings client");
ok(AMRemoteSettings.onSync, "Got a remote settings 'sync' event handler");
client = AMRemoteSettings.client;
} else {
// No client is expected to exist, and so we create one to inject the expected data
// into the RemoteSettings db.
client = new RemoteSettings(AMRemoteSettings.RS_COLLECTION);
}
await client.db.clear();
if (data.length) {
await client.db.importChanges({}, Date.now(), data);
}
await client.emit("sync", { data: {} });
}