Skip to content
Snippets Groups Projects
Commit a5b3c84f authored by Leonardo Balter's avatar Leonardo Balter
Browse files

Add tests for Subclassing the built-in Symbol Object

parent 47faa3ec
Branches
No related tags found
No related merge requests found
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 19.4.1
description: Symbol subclass called with the new operator throws on super()
info: >
19.4.1 The Symbol Constructor
...
The Symbol constructor is not intended to be used with the new operator or to
be subclassed. It may be used as the value of an extends clause of a class
definition but a super call to the Symbol constructor will cause an exception.
19.4.1.1 Symbol ( [ description ] )
...
1. If NewTarget is not undefined, throw a TypeError exception.
---*/
class S1 extends Symbol {}
assert.throws(TypeError, function() {
new S1();
});
class S2 extends Symbol {
constructor() {
super();
}
}
assert.throws(TypeError, function() {
new S2();
});
// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 19.4.1
description: Symbol can be used as the value of an extends
info: >
19.4.1 The Symbol Constructor
...
The Symbol constructor is not intended to be used with the new operator or to
be subclassed. It may be used as the value of an extends clause of a class
definition but a super call to the Symbol constructor will cause an exception.
...
---*/
class S extends Symbol {}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment