Test Error.prototype.toString called as top-level function

This commit is contained in:
Alexey Shvayka 2020-09-05 01:44:24 +03:00 committed by Rick Waldron
parent 54ef2ae71d
commit 87398ac935
1 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,32 @@
// Copyright (C) 2020 Alexey Shvayka. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-error.prototype.tostring
description: >
`this` value is resolved using strict mode semantics,
throwing TypeError if called as top-level function.
info: |
Error.prototype.toString ( )
1. Let O be the this value.
2. If Type(O) is not Object, throw a TypeError exception.
ToObject ( argument )
Argument Type: Undefined
Result: Throw a TypeError exception.
---*/
["name", "message"].forEach(function(key) {
Object.defineProperty(this, key, {
get: function() {
throw new Test262Error(key + " lookup should not be performed");
},
});
}, this);
var toString = Error.prototype.toString;
assert.throws(TypeError, function() {
toString();
});