20 lines
493 B
JavaScript
20 lines
493 B
JavaScript
description(
|
|
"Tests that we do ToString conversions correctly when String.prototype.valueOf is fine but we define our own on the String object itself."
|
|
);
|
|
|
|
function foo(a) {
|
|
for (var i = 0; i < 100; ++i)
|
|
a = new String(a);
|
|
return a;
|
|
}
|
|
|
|
var argument = new String("hello");
|
|
for (var i = 0; i < 150; ++i) {
|
|
if (i == 100) {
|
|
argument = new String("hello");
|
|
argument.valueOf = function() { return 42; }
|
|
}
|
|
shouldBe("\"\" + foo(argument)", "\"hello\"");
|
|
}
|
|
|