Number.prototype functions should throw TypeError if 'this' is not number.
JerryScript-DCO-1.0-Signed-off-by: Dániel Bátyai dbatyai.u-szeged@partner.samsung.com
This commit is contained in:
committed by
Evgeny Gavrin
parent
c8a16f2107
commit
e5b2e1e389
@@ -63,3 +63,10 @@ try {
|
||||
} catch (e) {
|
||||
assert(e instanceof RangeError)
|
||||
}
|
||||
|
||||
try {
|
||||
Number.prototype.toExponential.call(new Object());
|
||||
assert(false);
|
||||
} catch (e) {
|
||||
assert(e instanceof TypeError)
|
||||
}
|
||||
|
||||
+2
-19
@@ -38,28 +38,11 @@ assert((123456789012345678901.0).toFixed(20) === "123456789012345680000.00000000
|
||||
assert((123.56).toFixed(NaN) === "124");
|
||||
assert((123.56).toFixed(-0.9) === "124");
|
||||
|
||||
var obj = { toFixed : Number.prototype.toFixed };
|
||||
assert(obj.toFixed(0) === "NaN");
|
||||
|
||||
try {
|
||||
assert(obj.toFixed(Infinity));
|
||||
Number.prototype.toExponential.call(new Object());
|
||||
assert(false);
|
||||
} catch (e) {
|
||||
assert(e instanceof RangeError);
|
||||
}
|
||||
|
||||
try {
|
||||
assert(obj.toFixed(-Infinity));
|
||||
assert(false);
|
||||
} catch (e) {
|
||||
assert(e instanceof RangeError);
|
||||
}
|
||||
|
||||
try {
|
||||
assert(obj.toFixed(-1));
|
||||
assert(false);
|
||||
} catch (e) {
|
||||
assert(e instanceof RangeError);
|
||||
assert(e instanceof TypeError)
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -34,8 +34,6 @@ assert((123456789012345678901.0).toPrecision(20) === "1.2345678901234568000e+20"
|
||||
assert((123456789012345678901.0).toPrecision(21) === "123456789012345680000");
|
||||
assert((123456789012345678901.0).toPrecision("6") === "1.23457e+20");
|
||||
|
||||
var obj = { toPrecision : Number.prototype.toPrecision };
|
||||
assert(obj.toPrecision(1) === "NaN");
|
||||
assert((123.56).toPrecision(1.3) === "1e+2");
|
||||
assert((123.56).toPrecision(21.9) === "123.560000000000000000");
|
||||
|
||||
@@ -52,3 +50,10 @@ try {
|
||||
} catch (e) {
|
||||
assert(e instanceof RangeError)
|
||||
}
|
||||
|
||||
try {
|
||||
Number.prototype.toExponential.call(new Object());
|
||||
assert(false);
|
||||
} catch (e) {
|
||||
assert(e instanceof TypeError)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user