OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script src="../../../../resources/js-test.js"></script> | 3 <script src="../../../../resources/js-test.js"></script> |
4 <script src="resources/location-tests-functions.js"></script> | 4 <script src="resources/location-tests-functions.js"></script> |
5 </head> | 5 </head> |
6 <body> | 6 <body> |
7 <script> | 7 <script> |
8 window.location.valueOf = function() { return "haxored"; } | 8 window.location.valueOf = function() { return "haxored"; } |
9 | 9 |
10 var result = normalizeURL(String(window.location)); | 10 var result = normalizeURL(String(window.location)); |
11 var correctValue = normalizeURL(document.URL); | 11 var correctValue = normalizeURL(document.URL); |
12 shouldBe("result", "correctValue"); | 12 shouldBe("result", "correctValue"); |
| 13 result = normalizeURL(String(window.location.valueOf())); |
| 14 shouldBe("result", "correctValue"); |
| 15 shouldThrow("(function() { 'use strict'; location.valueOf = 'haxored'; retur
n location.valueOf(); }())"); |
| 16 shouldNotThrow("(function() { location.valueOf = 'haxored'; return location.
valueOf(); }())"); |
| 17 shouldThrow("(function() { 'use strict'; delete location.valueOf; }())"); |
| 18 shouldBe("(function() { delete location.valueOf; return !!location.valueOf}(
))", "true"); |
13 </script> | 19 </script> |
14 </body> | 20 </body> |
15 </html> | 21 </html> |
OLD | NEW |