tor-browser

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

transitionevent-interface.html (7756B)


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