tor-browser

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

browser_simpledb.js (1260B)


      1 /**
      2 * Any copyright is dedicated to the Public Domain.
      3 * http://creativecommons.org/publicdomain/zero/1.0/
      4 */
      5 
      6 // getRandomBuffer, compareBuffers
      7 loadScript("dom/quota/test/common/file.js");
      8 
      9 addTest(async function testSimpleDB() {
     10  const name = "data";
     11  const bufferSize = 100;
     12 
     13  let database = getSimpleDatabase();
     14 
     15  let request = database.open("data");
     16  await requestFinished(request);
     17 
     18  let buffer1 = getRandomBuffer(bufferSize);
     19 
     20  request = database.write(buffer1);
     21  await requestFinished(request);
     22 
     23  request = database.seek(0);
     24  await requestFinished(request);
     25 
     26  request = database.read(bufferSize);
     27  let result = await requestFinished(request);
     28 
     29  let buffer2 = result.getAsArrayBuffer();
     30 
     31  ok(compareBuffers(buffer1, buffer2), "Buffers equal.");
     32 
     33  let database2 = getSimpleDatabase();
     34 
     35  try {
     36    request = database2.open(name);
     37    await requestFinished(request);
     38    ok(false, "Should have thrown!");
     39  } catch (ex) {
     40    Assert.equal(
     41      request.resultCode,
     42      NS_ERROR_STORAGE_BUSY,
     43      "Good result code."
     44    );
     45  }
     46 
     47  request = database.close();
     48  await requestFinished(request);
     49 
     50  request = database2.open(name);
     51  await requestFinished(request);
     52 
     53  request = database2.close();
     54  await requestFinished(request);
     55 });