tor-browser

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

dataset-delete.html (2684B)


      1 <!DOCTYPE html>
      2 <html>
      3  <head>
      4    <title>Dataset - Delete</title>
      5    <script src="/resources/testharness.js"></script>
      6    <script src="/resources/testharnessreport.js"></script>
      7  </head>
      8  <body>
      9    <h1>Dataset - Delete</h1>
     10    <div id="log"></div>
     11    <script>
     12      function testDelete(attr, prop)
     13      {
     14        var d = document.createElement("div");
     15        d.setAttribute(attr, "value");
     16        delete d.dataset[prop];
     17        return d.hasAttribute(attr) === false && d.getAttribute(attr) != "value";
     18      }
     19 
     20      function testDeleteNoAdd(prop)
     21      {
     22        var d = document.createElement("div");
     23        delete d.dataset[prop];
     24        return true;
     25      }
     26 
     27      test(function() { assert_true(testDelete('data-foo', 'foo')); },
     28        "Deleting element.dataset['foo'] should also remove an attribute with name 'data-foo' should it exist.");
     29      test(function() { assert_true(testDelete('data-foo-bar', 'fooBar')); },
     30        "Deleting element.dataset['fooBar'] should also remove an attribute with name 'data-foo-bar' should it exist.");
     31      test(function() { assert_true(testDelete('data--', '-')); },
     32        "Deleting element.dataset['-'] should also remove an attribute with name 'data--' should it exist.");
     33      test(function() { assert_true(testDelete('data--foo', 'Foo')); },
     34        "Deleting element.dataset['Foo'] should also remove an attribute with name 'data--foo' should it exist.");
     35      test(function() {
     36        var d = document.createElement("div");
     37        d.setAttribute('data--foo', "value");
     38        assert_equals(d.dataset['-foo'], undefined);
     39        assert_false('-foo' in d.dataset);
     40        delete d.dataset['-foo'];
     41        assert_true(d.hasAttribute('data--foo'));
     42        assert_equals(d.getAttribute('data--foo'), "value");
     43      }, "Deleting element.dataset['-foo'] should not remove an attribute with name 'data--foo' should it exist.");
     44      test(function() { assert_true(testDelete('data---foo', '-Foo')); },
     45        "Deleting element.dataset['-Foo'] should also remove an attribute with name 'data---foo' should it exist.");
     46      test(function() { assert_true(testDelete('data-', '')); },
     47        "Deleting element.dataset[''] should also remove an attribute with name 'data-' should it exist.");
     48      test(function() { assert_true(testDelete('data-\xE0', '\xE0')); },
     49        "Deleting element.dataset['\xE0'] should also remove an attribute with name 'data-\xE0' should it exist.");
     50      test(function() { assert_true(testDeleteNoAdd('foo')); },
     51        "Deleting element.dataset['foo'] should not throw if even if the element does now have an attribute with the name data-foo.");
     52    </script>
     53  </body>
     54 </html>