tor-browser

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

animationevent-interface.js (7749B)


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