dom/bindings/test/test_lenientThis.html

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/dom/bindings/test/test_lenientThis.html	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,27 @@
     1.4 +<!doctype html>
     1.5 +<meta charset=utf-8>
     1.6 +<title>[LenientThis]</title>
     1.7 +<script src=/resources/testharness.js></script>
     1.8 +<script src=/resources/testharnessreport.js></script>
     1.9 +<div id=log></div>
    1.10 +<script>
    1.11 +function noop1() { }
    1.12 +function noop2() { }
    1.13 +
    1.14 +test(function() {
    1.15 +  var desc = Object.getOwnPropertyDescriptor(Document.prototype, "onreadystatechange");
    1.16 +
    1.17 +  document.onreadystatechange = noop1;
    1.18 +  assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1");
    1.19 +  assert_equals(desc.get.call({ }), undefined, "document.onreadystatechange getter.call({}) == undefined");
    1.20 +}, "invoking Document.onreadystatechange's getter with an invalid this object returns undefined");
    1.21 +
    1.22 +test(function() {
    1.23 +  var desc = Object.getOwnPropertyDescriptor(Document.prototype, "onreadystatechange");
    1.24 +
    1.25 +  document.onreadystatechange = noop1;
    1.26 +  assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1");
    1.27 +  assert_equals(desc.set.call({ }, noop2), undefined, "document.onreadystatechange setter.call({}) == undefined");
    1.28 +  assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1 (still)");
    1.29 +}, "invoking Document.onreadystatechange's setter with an invalid this object does nothing and returns undefined");
    1.30 +</script>

mercurial