tor-browser

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

custom-data.js (1580B)


      1 var fakeCustomData = (function() {
      2  var buffer = new ArrayBuffer(2);
      3  new DataView(buffer).setInt16(0, 42, true);
      4  var canvas = new OffscreenCanvas(100, 100);
      5  var context = canvas.getContext("2d");
      6 
      7  var map = new Map();
      8  var set = new Set();
      9  map.set("test", 42);
     10  set.add(4);
     11  set.add(2);
     12 
     13  return {
     14    primitives: {
     15      a: 123,
     16      b: "test",
     17      c: true,
     18      d: [1, 2, 3],
     19    },
     20    date: new Date(2013, 2, 1, 1, 10),
     21    regexp: new RegExp("[^.]+"),
     22    arrayBuffer: buffer,
     23    imageData: context.createImageData(100, 100),
     24    map,
     25    set,
     26  };
     27 })();
     28 
     29 function assert_custom_data(dataObj) {
     30  assert_equals(typeof dataObj, "object", "data should be a JS object");
     31  assert_equals(
     32    JSON.stringify(dataObj.primitives),
     33    JSON.stringify(fakeCustomData.primitives),
     34    "data.primitives should be preserved"
     35  );
     36  assert_equals(
     37    dataObj.date.toDateString(),
     38    fakeCustomData.date.toDateString(),
     39    "data.date should be preserved"
     40  );
     41  assert_equals(
     42    dataObj.regexp.exec("http://www.domain.com")[0].substr(7),
     43    "www",
     44    "data.regexp should be preserved"
     45  );
     46  assert_equals(
     47    new Int16Array(dataObj.arrayBuffer)[0],
     48    42,
     49    "data.arrayBuffer should be preserved"
     50  );
     51  assert_equals(
     52    JSON.stringify(dataObj.imageData.data),
     53    JSON.stringify(fakeCustomData.imageData.data),
     54    "data.imageData should be preserved"
     55  )
     56  assert_equals(
     57    dataObj.map.get("test"),
     58    42,
     59    "data.map should be preserved"
     60  );
     61  assert_true(
     62    dataObj.set.has(4) && dataObj.set.has(2),
     63    "data.set should be preserved"
     64  );
     65 }