<p>This page tests that string addition prefers valueOf() over toString() for conversion. If the test passes, you'll see a PASS message below.</p>
<pre id="console"></pre>
<script>
function log(s)
{
document.getElementById("console").appendChild(document.createTextNode(s + "\n"));
}
function shouldBe(a, aDescription, b)
{
if (a === b)
log("PASS: " + aDescription + " should be " + b + " and is.");
else
log("FAIL: " + aDescription + " should be " + b + " but instead is " + a + ".");
}
if (this.testRunner)
testRunner.dumpAsText();
var valueOfIsZero = {
valueOf: function valueOf() { return 0; },
toString: function toString() { return 1; }
};
shouldBe('1' + valueOfIsZero, "'1' + valueOfIsZero", "10");
</script>