tor-browser

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

toggleevent-interface.html (6826B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <link rel="author" href="mailto:masonf@chromium.org">
      4 <link rel=help href="https://open-ui.org/components/popover.research.explainer">
      5 <link rel=help href="https://html.spec.whatwg.org/multipage/popover.html">
      6 <script src="/resources/testharness.js"></script>
      7 <script src="/resources/testharnessreport.js"></script>
      8 
      9 <script>
     10 test(function() {
     11  var event = new ToggleEvent("");
     12  assert_true(event instanceof window.ToggleEvent);
     13 }, "the event is an instance of ToggleEvent");
     14 
     15 test(function() {
     16  var event = new ToggleEvent("");
     17  assert_true(event instanceof window.Event);
     18 }, "the event inherts from Event");
     19 
     20 test(function() {
     21  assert_throws_js(TypeError, function() {
     22    new ToggleEvent();
     23  }, 'First argument (type) is required, so was expecting a TypeError.');
     24 }, 'Missing type argument');
     25 
     26 test(function() {
     27  var event = new ToggleEvent("test");
     28  assert_equals(event.type, "test");
     29 }, "type argument is string");
     30 
     31 test(function() {
     32  var event = new ToggleEvent(null);
     33  assert_equals(event.type, "null");
     34 }, "type argument is null");
     35 
     36 test(function() {
     37  var event = new ToggleEvent(undefined);
     38  assert_equals(event.type, "undefined");
     39 }, "event type set to undefined");
     40 
     41 test(function() {
     42  var event = new ToggleEvent("test");
     43  assert_equals(event.oldState, "");
     44 }, "oldState has default value of empty string");
     45 
     46 test(function() {
     47  var event = new ToggleEvent("test");
     48  assert_readonly(event, "oldState", "readonly attribute value");
     49 }, "oldState is readonly");
     50 
     51 test(function() {
     52  var event = new ToggleEvent("test");
     53  assert_equals(event.newState, "");
     54 }, "newState has default value of empty string");
     55 
     56 test(function() {
     57  var event = new ToggleEvent("test");
     58  assert_readonly(event, "newState", "readonly attribute value");
     59 }, "newState is readonly");
     60 
     61 test(function() {
     62  var event = new ToggleEvent("test", null);
     63  assert_equals(event.oldState, "");
     64  assert_equals(event.newState, "");
     65 }, "ToggleEventInit argument is null");
     66 
     67 test(function() {
     68  var event = new ToggleEvent("test", undefined);
     69  assert_equals(event.oldState, "");
     70  assert_equals(event.newState, "");
     71 }, "ToggleEventInit argument is undefined");
     72 
     73 test(function() {
     74  var event = new ToggleEvent("test", {});
     75  assert_equals(event.oldState, "");
     76  assert_equals(event.newState, "");
     77 }, "ToggleEventInit argument is empty dictionary");
     78 
     79 test(function() {
     80  var event = new ToggleEvent("test", {oldState: "sample"});
     81  assert_equals(event.oldState, "sample");
     82 }, "oldState set to 'sample'");
     83 
     84 test(function() {
     85  var event = new ToggleEvent("test", {oldState: undefined});
     86  assert_equals(event.oldState, "");
     87 }, "oldState set to undefined");
     88 
     89 test(function() {
     90  var event = new ToggleEvent("test", {oldState: null});
     91  assert_equals(event.oldState, "null");
     92 }, "oldState set to null");
     93 
     94 test(function() {
     95  var event = new ToggleEvent("test", {oldState: false});
     96  assert_equals(event.oldState, "false");
     97 }, "oldState set to false");
     98 
     99 test(function() {
    100  var event = new ToggleEvent("test", {oldState: true});
    101  assert_equals(event.oldState, "true");
    102 }, "oldState set to true");
    103 
    104 test(function() {
    105  var event = new ToggleEvent("test", {oldState: 0.5});
    106  assert_equals(event.oldState, "0.5");
    107 }, "oldState set to a number");
    108 
    109 test(function() {
    110  var event = new ToggleEvent("test", {oldState: []});
    111  assert_equals(event.oldState, "");
    112 }, "oldState set to []");
    113 
    114 test(function() {
    115  var event = new ToggleEvent("test", {oldState: [1, 2, 3]});
    116  assert_equals(event.oldState, "1,2,3");
    117 }, "oldState set to [1, 2, 3]");
    118 
    119 test(function() {
    120  var event = new ToggleEvent("test", {oldState: {sample: 0.5}});
    121  assert_equals(event.oldState, "[object Object]");
    122 }, "oldState set to an object");
    123 
    124 test(function() {
    125  var event = new ToggleEvent("test",
    126      {oldState: {valueOf: function () { return 'sample'; }}});
    127  assert_equals(event.oldState, "[object Object]");
    128 }, "oldState set to an object with a valueOf function");
    129 
    130 test(function() {
    131  var eventInit = {oldState: "sample",newState: "sample2"};
    132  var event = new ToggleEvent("test", eventInit);
    133  assert_equals(event.oldState, "sample");
    134  assert_equals(event.newState, "sample2");
    135 }, "ToggleEventInit properties set value");
    136 
    137 test(function() {
    138  var eventInit = {oldState: "open",newState: "closed"};
    139  var event = new ToggleEvent("beforetoggle", eventInit);
    140  assert_equals(event.oldState, "open");
    141  assert_equals(event.newState, "closed");
    142 }, "ToggleEventInit properties set value 2");
    143 
    144 test(function() {
    145  var eventInit = {oldState: "closed",newState: "open"};
    146  var event = new ToggleEvent("toggle", eventInit);
    147  assert_equals(event.oldState, "closed");
    148  assert_equals(event.newState, "open");
    149 }, "ToggleEventInit properties set value 3");
    150 
    151 test(function() {
    152  var eventInit = {oldState: "open",newState: "open"};
    153  var event = new ToggleEvent("beforetoggle", eventInit);
    154  assert_equals(event.oldState, "open");
    155  assert_equals(event.newState, "open");
    156 }, "ToggleEventInit properties set value 4");
    157 
    158 test(function() {
    159  const div = document.createElement('div');
    160  const eventInit = {source: div};
    161  const event = new ToggleEvent('beforetoggle', eventInit);
    162  assert_equals(event.source, div);
    163 }, 'ToggleEventInit with source.');
    164 
    165 test(function() {
    166  var event = new ToggleEvent("test", {newState: "sample"});
    167  assert_equals(event.newState, "sample");
    168 }, "newState set to 'sample'");
    169 
    170 test(function() {
    171  var event = new ToggleEvent("test", {newState: undefined});
    172  assert_equals(event.newState, "");
    173 }, "newState set to undefined");
    174 
    175 test(function() {
    176  var event = new ToggleEvent("test", {newState: null});
    177  assert_equals(event.newState, "null");
    178 }, "newState set to null");
    179 
    180 test(function() {
    181  var event = new ToggleEvent("test", {newState: false});
    182  assert_equals(event.newState, "false");
    183 }, "newState set to false");
    184 
    185 test(function() {
    186  var event = new ToggleEvent("test", {newState: true});
    187  assert_equals(event.newState, "true");
    188 }, "newState set to true");
    189 
    190 test(function() {
    191  var event = new ToggleEvent("test", {newState: 0.5});
    192  assert_equals(event.newState, "0.5");
    193 }, "newState set to a number");
    194 
    195 test(function() {
    196  var event = new ToggleEvent("test", {newState: []});
    197  assert_equals(event.newState, "");
    198 }, "newState set to []");
    199 
    200 test(function() {
    201  var event = new ToggleEvent("test", {newState: [1, 2, 3]});
    202  assert_equals(event.newState, "1,2,3");
    203 }, "newState set to [1, 2, 3]");
    204 
    205 test(function() {
    206  var event = new ToggleEvent("test", {newState: {sample: 0.5}});
    207  assert_equals(event.newState, "[object Object]");
    208 }, "newState set to an object");
    209 
    210 test(function() {
    211  var event = new ToggleEvent("test",
    212      {newState: {valueOf: function () { return 'sample'; }}});
    213  assert_equals(event.newState, "[object Object]");
    214 }, "newState set to an object with a valueOf function");
    215 </script>