| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="../js/resources/js-test-pre.js"></script> | 2 <script src="../js/resources/js-test-pre.js"></script> |
| 3 <form id="test-form"> | 3 <form id="test-form"> |
| 4 <input id="test-input"> | 4 <input id="test-input"> |
| 5 </form> | 5 </form> |
| 6 <script> | 6 <script> |
| 7 | 7 |
| 8 description('Tests that lookup in inline event handlers keeps references alive')
; | 8 description('Tests that lookup in inline event handlers keeps references alive')
; |
| 9 | 9 |
| 10 var result; | 10 var result; |
| 11 var pa = '(FAIL input)' | 11 var pa = '(FAIL input)' |
| 12 var ss = '(FAIL form)' | 12 var ss = '(FAIL form)' |
| 13 | 13 |
| 14 var input = document.getElementById('test-input'); | 14 var input = document.getElementById('test-input'); |
| 15 input.pa = 'PA'; | 15 input.pa = 'PA'; |
| 16 input.form.ss = 'SS'; | 16 input.form.ss = 'SS'; |
| 17 input.setAttribute('onclick', 'result = pa + ss'); | 17 input.setAttribute('onclick', 'result = pa + ss'); |
| 18 | 18 |
| 19 var f = input.onclick; | 19 var f = input.onclick; |
| 20 | 20 |
| 21 input.parentNode.removeChild(input); | 21 input.parentNode.removeChild(input); |
| 22 input = null; | 22 input = null; |
| 23 gc(); | 23 gc(); |
| 24 | 24 |
| 25 f(); | 25 f(); |
| 26 shouldBeEqualToString('result', 'PASS'); | 26 shouldBeEqualToString('result', 'PASS'); |
| 27 | 27 |
| 28 </script> | 28 </script> |
| 29 <script src="../js/resources/js-test-post.js"></script> | |
| OLD | NEW |