OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src="../js/resources/js-test-pre.js"></script> | 2 <script src="../../resources/js-test.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> |
OLD | NEW |