tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_extension_storage_tracker_kinto.js (1414B)


      1 /* Any copyright is dedicated to the Public Domain.
      2 * http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 Services.prefs.setBoolPref("webextensions.storage.sync.kinto", true);
      7 
      8 const { ExtensionStorageEngine } = ChromeUtils.importESModule(
      9  "resource://services-sync/engines/extension-storage.sys.mjs"
     10 );
     11 const { Service } = ChromeUtils.importESModule(
     12  "resource://services-sync/service.sys.mjs"
     13 );
     14 const { extensionStorageSyncKinto: extensionStorageSync } =
     15  ChromeUtils.importESModule(
     16    "resource://gre/modules/ExtensionStorageSyncKinto.sys.mjs"
     17  );
     18 
     19 let engine;
     20 
     21 add_task(async function setup() {
     22  await Service.engineManager.register(ExtensionStorageEngine);
     23  engine = Service.engineManager.get("extension-storage");
     24  do_get_profile(); // so we can use FxAccounts
     25  loadWebExtensionTestFunctions();
     26 });
     27 
     28 add_task(async function test_changing_extension_storage_changes_score() {
     29  const tracker = engine._tracker;
     30  const extension = { id: "my-extension-id" };
     31  tracker.start();
     32  await withContext(async function (context) {
     33    await extensionStorageSync.set(extension, { a: "b" }, context);
     34  });
     35  Assert.equal(tracker.score, SCORE_INCREMENT_MEDIUM);
     36 
     37  tracker.resetScore();
     38  await withContext(async function (context) {
     39    await extensionStorageSync.remove(extension, "a", context);
     40  });
     41  Assert.equal(tracker.score, SCORE_INCREMENT_MEDIUM);
     42 
     43  await tracker.stop();
     44 });