tor-browser

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

property-modification.js (795B)


      1 function getLogString(obj) {
      2    let log = getWatchtowerLog();
      3    return log.map(item => {
      4        assertEq(item.object, obj);
      5        if (typeof item.extra === "symbol") {
      6            item.extra = "<symbol>";
      7        }
      8        return item.kind + (item.extra ? ": " + item.extra : "");
      9    }).join("\n");
     10 }
     11 
     12 function testBasic() {
     13    let o = { a: 10 };
     14    addWatchtowerTarget(o);
     15 
     16    // change-prop-value: a
     17    o.a = 12;
     18    let p = { a: 15 };
     19 
     20    // change-prop-value: a
     21    Object.assign(o, p);
     22 
     23    // change-prop-value: a
     24    Object.defineProperty(o, "a", { value: 19 });
     25    let log = getLogString(o);
     26 
     27    assertEq(log,
     28        `change-prop-value: a
     29 change-prop-value: a
     30 change-prop-value: a`);
     31 }
     32 
     33 for (var i = 0; i < 20; i++) {
     34    console.log(`Iteration ${i}`);
     35    testBasic();
     36 }