| <html> |
| <head> |
| <script type="text/javascript" charset="utf-8"> |
| function log(msg) |
| { |
| document.getElementById('console').appendChild(document.createTextNode(msg + '\n')); |
| } |
| |
| function test(element, name) |
| { |
| var didPass = true; |
| for (prop in element) { |
| if (prop == "toString") |
| didPass = false; |
| } |
| if (didPass) |
| log("PASS: the toString function is not enumerable for " + name + "."); |
| else |
| log("FAIL: the toString function is enumerable for " + name + " and should not be."); |
| } |
| |
| function runTests() |
| { |
| if (window.testRunner) |
| testRunner.dumpAsText(); |
| |
| // DOM objects with custom toString() functions |
| test(document.createElement('a'), "HTMLAnchorElement"); |
| test(window.location, "Location"); |
| test(window.getSelection(), "Selection"); |
| |
| // Other DOM objects |
| test(document.createElement('div'), "HTMLDivElement"); |
| test(document, "HTMLDocument"); |
| |
| // JS objects |
| test({}, "Object"); |
| test([], "Array"); |
| } |
| </script> |
| </head> |
| <body onload="runTests();"> |
| <p>This tests that the toString() function does not enumerate.</p> |
| <pre id="console"></pre> |
| </body> |
| </html> |