Implementing TypeError and TypeError.prototype built-ins. Fixing Error.prototype.toString implementation.
This commit is contained in:
+44
-2
@@ -14,19 +14,61 @@
|
||||
|
||||
var e;
|
||||
|
||||
/* Error */
|
||||
e = new Error ();
|
||||
assert (e.name === "Error");
|
||||
assert (e.message === "");
|
||||
assert (e.toString() === "Error: ");
|
||||
assert (e.toString() === "Error");
|
||||
|
||||
e = new Error("some message");
|
||||
assert (e.name === "Error");
|
||||
assert (e.message === "some message");
|
||||
assert (e.toString() === "Error: some message");
|
||||
|
||||
e.name = "";
|
||||
assert (e.toString() === "some message");
|
||||
e.message = "";
|
||||
assert (e.toString() === "");
|
||||
|
||||
assert (Error.prototype.toString !== Object.prototype.toString);
|
||||
assert (Error.prototype.constructor === Error);
|
||||
assert (Error.prototype.name === "Error");
|
||||
assert (Error.prototype.message === "");
|
||||
assert (Error.prototype.toString() === "Error: ");
|
||||
assert (Error.prototype.toString() === "Error");
|
||||
|
||||
/* TypeError */
|
||||
e = new TypeError ();
|
||||
assert (e.name === "TypeError");
|
||||
assert (e.message === "");
|
||||
assert (e.toString() === "TypeError");
|
||||
|
||||
e = new TypeError("some message");
|
||||
assert (e.name === "TypeError");
|
||||
assert (e.message === "some message");
|
||||
assert (e.toString() === "TypeError: some message");
|
||||
|
||||
e.name = "";
|
||||
assert (e.toString() === "some message");
|
||||
e.message = "";
|
||||
assert (e.toString() === "");
|
||||
|
||||
assert (TypeError.prototype.toString === Error.prototype.toString);
|
||||
assert (TypeError.prototype.constructor === TypeError);
|
||||
assert (TypeError.prototype.name === "TypeError");
|
||||
assert (TypeError.prototype.message === "");
|
||||
assert (TypeError.prototype.toString() === "TypeError");
|
||||
|
||||
try
|
||||
{
|
||||
null[1] = 'abcd';
|
||||
|
||||
assert (false);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
assert(e instanceof TypeError);
|
||||
assert(e instanceof Error);
|
||||
assert(e instanceof Object);
|
||||
|
||||
assert(!(e instanceof Function));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user