45 lines
1.3 KiB
HTML
45 lines
1.3 KiB
HTML
<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(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>
|