tor-browser

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

test_SyncedTabsDeckStore.js (1588B)


      1 "use strict";
      2 
      3 let { SyncedTabsDeckStore } = ChromeUtils.importESModule(
      4  "resource:///modules/syncedtabs/SyncedTabsDeckStore.sys.mjs"
      5 );
      6 
      7 add_task(async function testSelectUnkownPanel() {
      8  let deckStore = new SyncedTabsDeckStore();
      9  let spy = sinon.spy();
     10 
     11  deckStore.on("change", spy);
     12  deckStore.selectPanel("foo");
     13 
     14  Assert.ok(!spy.called);
     15 });
     16 
     17 add_task(async function testSetPanels() {
     18  let deckStore = new SyncedTabsDeckStore();
     19  let spy = sinon.spy();
     20 
     21  deckStore.on("change", spy);
     22  deckStore.setPanels(["panel1", "panel2"]);
     23 
     24  Assert.ok(
     25    spy.calledWith({
     26      panels: [
     27        { id: "panel1", selected: false },
     28        { id: "panel2", selected: false },
     29      ],
     30      isUpdatable: false,
     31    })
     32  );
     33 });
     34 
     35 add_task(async function testSelectPanel() {
     36  let deckStore = new SyncedTabsDeckStore();
     37  let spy = sinon.spy();
     38 
     39  deckStore.setPanels(["panel1", "panel2"]);
     40 
     41  deckStore.on("change", spy);
     42  deckStore.selectPanel("panel2");
     43 
     44  Assert.ok(
     45    spy.calledWith({
     46      panels: [
     47        { id: "panel1", selected: false },
     48        { id: "panel2", selected: true },
     49      ],
     50      isUpdatable: true,
     51    })
     52  );
     53 
     54  deckStore.selectPanel("panel2");
     55  Assert.ok(spy.calledOnce, "doesn't trigger unless panel changes");
     56 });
     57 
     58 add_task(async function testSetPanelsSameArray() {
     59  let deckStore = new SyncedTabsDeckStore();
     60  let spy = sinon.spy();
     61  deckStore.on("change", spy);
     62 
     63  let panels = ["panel1", "panel2"];
     64 
     65  deckStore.setPanels(panels);
     66  deckStore.setPanels(panels);
     67 
     68  Assert.ok(spy.calledOnce, "doesn't trigger unless set of panels changes");
     69 });