tor-browser

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

Event-constructors.any.js (3496B)


      1 // META: title=Event constructors
      2 
      3 test(function() {
      4  assert_throws_js(
      5    TypeError,
      6    () => Event(""),
      7    "Calling Event constructor without 'new' must throw")
      8 })
      9 test(function() {
     10  assert_throws_js(TypeError, function() {
     11    new Event()
     12  })
     13 })
     14 test(function() {
     15  var test_error = { name: "test" }
     16  assert_throws_exactly(test_error, function() {
     17    new Event({ toString: function() { throw test_error; } })
     18  })
     19 })
     20 test(function() {
     21  var ev = new Event("")
     22  assert_equals(ev.type, "")
     23  assert_equals(ev.target, null)
     24  assert_equals(ev.srcElement, null)
     25  assert_equals(ev.currentTarget, null)
     26  assert_equals(ev.eventPhase, Event.NONE)
     27  assert_equals(ev.bubbles, false)
     28  assert_equals(ev.cancelable, false)
     29  assert_equals(ev.defaultPrevented, false)
     30  assert_equals(ev.returnValue, true)
     31  assert_equals(ev.isTrusted, false)
     32  assert_true(ev.timeStamp > 0)
     33  assert_true("initEvent" in ev)
     34 })
     35 test(function() {
     36  var ev = new Event("test")
     37  assert_equals(ev.type, "test")
     38  assert_equals(ev.target, null)
     39  assert_equals(ev.srcElement, null)
     40  assert_equals(ev.currentTarget, null)
     41  assert_equals(ev.eventPhase, Event.NONE)
     42  assert_equals(ev.bubbles, false)
     43  assert_equals(ev.cancelable, false)
     44  assert_equals(ev.defaultPrevented, false)
     45  assert_equals(ev.returnValue, true)
     46  assert_equals(ev.isTrusted, false)
     47  assert_true(ev.timeStamp > 0)
     48  assert_true("initEvent" in ev)
     49 })
     50 test(function() {
     51  assert_throws_js(TypeError, function() { Event("test") },
     52                   'Calling Event constructor without "new" must throw');
     53 })
     54 test(function() {
     55  var ev = new Event("I am an event", { bubbles: true, cancelable: false})
     56  assert_equals(ev.type, "I am an event")
     57  assert_equals(ev.bubbles, true)
     58  assert_equals(ev.cancelable, false)
     59 })
     60 test(function() {
     61  var ev = new Event("@", { bubblesIGNORED: true, cancelable: true})
     62  assert_equals(ev.type, "@")
     63  assert_equals(ev.bubbles, false)
     64  assert_equals(ev.cancelable, true)
     65 })
     66 test(function() {
     67  var ev = new Event("@", { "bubbles\0IGNORED": true, cancelable: true})
     68  assert_equals(ev.type, "@")
     69  assert_equals(ev.bubbles, false)
     70  assert_equals(ev.cancelable, true)
     71 })
     72 test(function() {
     73  var ev = new Event("Xx", { cancelable: true})
     74  assert_equals(ev.type, "Xx")
     75  assert_equals(ev.bubbles, false)
     76  assert_equals(ev.cancelable, true)
     77 })
     78 test(function() {
     79  var ev = new Event("Xx", {})
     80  assert_equals(ev.type, "Xx")
     81  assert_equals(ev.bubbles, false)
     82  assert_equals(ev.cancelable, false)
     83 })
     84 test(function() {
     85  var ev = new Event("Xx", {bubbles: true, cancelable: false, sweet: "x"})
     86  assert_equals(ev.type, "Xx")
     87  assert_equals(ev.bubbles, true)
     88  assert_equals(ev.cancelable, false)
     89  assert_equals(ev.sweet, undefined)
     90 })
     91 test(function() {
     92  var called = []
     93  var ev = new Event("Xx", {
     94    get cancelable() {
     95      called.push("cancelable")
     96      return false
     97    },
     98    get bubbles() {
     99      called.push("bubbles")
    100      return true;
    101    },
    102    get sweet() {
    103      called.push("sweet")
    104      return "x"
    105    }
    106  })
    107  assert_array_equals(called, ["bubbles", "cancelable"])
    108  assert_equals(ev.type, "Xx")
    109  assert_equals(ev.bubbles, true)
    110  assert_equals(ev.cancelable, false)
    111  assert_equals(ev.sweet, undefined)
    112 })
    113 test(function() {
    114  var ev = new CustomEvent("$", {detail: 54, sweet: "x", sweet2: "x", cancelable:true})
    115  assert_equals(ev.type, "$")
    116  assert_equals(ev.bubbles, false)
    117  assert_equals(ev.cancelable, true)
    118  assert_equals(ev.sweet, undefined)
    119  assert_equals(ev.detail, 54)
    120 })