mirror of https://github.com/tc39/test262.git
Add tests for Subclassing the built-in Boolean Object
This commit is contained in:
parent
1bcc056914
commit
47faa3ec58
|
@ -0,0 +1,23 @@
|
|||
// 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.3.1
|
||||
description: Subclassing Function
|
||||
info: >
|
||||
19.3.1 The Boolean Constructor
|
||||
|
||||
The Boolean constructor is designed to be subclassable. It may be used as the
|
||||
value of an extends clause of a class definition.
|
||||
...
|
||||
---*/
|
||||
|
||||
class Bln extends Boolean {}
|
||||
|
||||
var b1 = new Bln(1);
|
||||
|
||||
assert.notSameValue(b1, true, 'b1 is an Boolean object');
|
||||
assert.sameValue(b1.valueOf(), true);
|
||||
|
||||
var b2 = new Bln(0);
|
||||
assert.notSameValue(b2, false, 'bln is an Boolean object');
|
||||
assert.sameValue(b2.valueOf(), false);
|
|
@ -0,0 +1,31 @@
|
|||
// 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.3.1
|
||||
description: Super need to be called to initialize Boolean internals
|
||||
info: >
|
||||
19.3.1 The Boolean Constructor
|
||||
|
||||
...
|
||||
Subclass constructors that intend to inherit the specified Boolean behaviour
|
||||
must include a super call to the Boolean constructor to create and initialize
|
||||
the subclass instance with a [[BooleanData]] internal slot.
|
||||
---*/
|
||||
|
||||
class Bln extends Boolean {
|
||||
constructor() {}
|
||||
}
|
||||
|
||||
// Boolean internals are not initialized
|
||||
assert.throws(ReferenceError, function() {
|
||||
new Bln(1);
|
||||
});
|
||||
|
||||
class Bln2 extends Boolean {
|
||||
constructor() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
var b = new Bln2(1);
|
||||
assert(b instanceof Boolean);
|
Loading…
Reference in New Issue