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>