diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-03-19 09:21:55 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-03-19 09:23:23 +0100 |
commit | faa5f0df26e09d1f2e633618476294d112c24322 (patch) | |
tree | d9cc82bd54a71c51146924e975aef4861e67cd27 /js/src/tests/ecma_6 | |
parent | 393ee744a8d44494a2a3750aec8e3e9845ecf780 (diff) | |
parent | 77e607426f03524bdaf06bfc6799f5e9273051b9 (diff) | |
download | uxp-faa5f0df26e09d1f2e633618476294d112c24322.tar.gz |
Prototypes should be regular objects.
This resolves #76
Merged remote-tracking branch 'janek/js_error_ordinary-object_1'
Diffstat (limited to 'js/src/tests/ecma_6')
-rw-r--r-- | js/src/tests/ecma_6/Error/constructor-proto.js | 17 | ||||
-rw-r--r-- | js/src/tests/ecma_6/Error/prototype-properties.js | 24 | ||||
-rw-r--r-- | js/src/tests/ecma_6/Error/prototype.js | 18 | ||||
-rw-r--r-- | js/src/tests/ecma_6/Error/shell.js | 0 |
4 files changed, 59 insertions, 0 deletions
diff --git a/js/src/tests/ecma_6/Error/constructor-proto.js b/js/src/tests/ecma_6/Error/constructor-proto.js new file mode 100644 index 0000000000..4ddc6025e8 --- /dev/null +++ b/js/src/tests/ecma_6/Error/constructor-proto.js @@ -0,0 +1,17 @@ +const nativeErrors = [ + InternalError, + EvalError, + RangeError, + ReferenceError, + SyntaxError, + TypeError, + URIError +]; + +assertEq(Reflect.getPrototypeOf(Error), Function.prototype) + +for (const error of nativeErrors) + assertEq(Reflect.getPrototypeOf(error), Error); + +if (typeof reportCompare === "function") + reportCompare(0, 0); diff --git a/js/src/tests/ecma_6/Error/prototype-properties.js b/js/src/tests/ecma_6/Error/prototype-properties.js new file mode 100644 index 0000000000..c66caf2bcb --- /dev/null +++ b/js/src/tests/ecma_6/Error/prototype-properties.js @@ -0,0 +1,24 @@ +const nativeErrors = [ + InternalError, + EvalError, + RangeError, + ReferenceError, + SyntaxError, + TypeError, + URIError +]; + + +assertEq(Reflect.ownKeys(Error.prototype).toString(), "toSource,toString,message,name,stack,constructor"); +assertEq(Error.prototype.name, "Error"); +assertEq(Error.prototype.message, ""); + +for (const error of nativeErrors) { + assertEq(Reflect.ownKeys(error.prototype).toString(), "message,name,constructor"); + assertEq(error.prototype.name, error.name); + assertEq(error.prototype.message, ""); + assertEq(error.prototype.constructor, error); +} + +if (typeof reportCompare === "function") + reportCompare(0, 0); diff --git a/js/src/tests/ecma_6/Error/prototype.js b/js/src/tests/ecma_6/Error/prototype.js new file mode 100644 index 0000000000..b22a8e084b --- /dev/null +++ b/js/src/tests/ecma_6/Error/prototype.js @@ -0,0 +1,18 @@ +const nativeErrors = [ + InternalError, + EvalError, + RangeError, + ReferenceError, + SyntaxError, + TypeError, + URIError +]; + +assertEq(Reflect.getPrototypeOf(Error.prototype), Object.prototype) + +for (const error of nativeErrors) { + assertEq(Reflect.getPrototypeOf(error.prototype), Error.prototype); +} + +if (typeof reportCompare === "function") + reportCompare(0, 0); diff --git a/js/src/tests/ecma_6/Error/shell.js b/js/src/tests/ecma_6/Error/shell.js new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/js/src/tests/ecma_6/Error/shell.js |