tor-browser

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

key-value-store.https.html (1515B)


      1 <!DOCTYPE html>
      2 <title>Test the key value store</title>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script src="/common/utils.js"></script>
      6 <script src="resources/utils.js"></script>
      7 
      8 <body>
      9 
     10 <script>
     11 promise_test(async () => {
     12  const key = token();
     13  const test_value = "TESTVALUE";
     14 
     15  let server_value = await readValueFromServer(key);
     16  assert_false(server_value.status,
     17               "The server returns a sentinel value when requesting a value " +
     18               "that the stash does not have");
     19 
     20  server_value = await readValueFromServer(key);
     21  assert_false(server_value.status,
     22               "Requesting a not-set value twice is idempotent");
     23 
     24  writeValueToServer(key, "");
     25  server_value = await nextValueFromServer(key);
     26  assert_equals(server_value, "",
     27                "The server correctly identifies that an empty string was " +
     28                "set, and returns it, and not the sentinel value");
     29 
     30  writeValueToServer(key, test_value);
     31  server_value = await nextValueFromServer(key);
     32  assert_equals(server_value, test_value,
     33                "The server correctly sets and returns non-empty strings");
     34 
     35  writeValueToServer(key, "");
     36  server_value = await nextValueFromServer(key);
     37  assert_equals(server_value, "",
     38                "The server correctly identifies empty strings after dealing " +
     39                "with non-empty-string values");
     40 }, "Test the key-value store, specifically with empty strings");
     41 </script>
     42 
     43 </body>