mirror of https://github.com/tc39/test262.git
Test Date.prototype.toJSON called as top-level function
This commit is contained in:
parent
87398ac935
commit
b15c3a5b79
|
@ -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-date.prototype.tojson
|
||||
description: >
|
||||
`this` value is resolved using strict mode semantics,
|
||||
throwing TypeError if called as top-level function.
|
||||
info: |
|
||||
Date.prototype.toJSON ( key )
|
||||
|
||||
1. Let O be ? ToObject(this value).
|
||||
|
||||
ToObject ( argument )
|
||||
|
||||
Argument Type: Undefined
|
||||
Result: Throw a TypeError exception.
|
||||
features: [Symbol, Symbol.toPrimitive]
|
||||
---*/
|
||||
|
||||
[Symbol.toPrimitive, "toString", "valueOf", "toISOString"].forEach(function(key) {
|
||||
Object.defineProperty(this, key, {
|
||||
get: function() {
|
||||
throw new Test262Error(String(key) + " lookup should not be performed");
|
||||
},
|
||||
});
|
||||
}, this);
|
||||
|
||||
var toJSON = Date.prototype.toJSON;
|
||||
assert.throws(TypeError, function() {
|
||||
toJSON();
|
||||
});
|
Loading…
Reference in New Issue