mirror of
https://github.com/tc39/test262.git
synced 2025-07-27 07:54:41 +02:00
Add tests for Subclassing the built-in TypedArray Objects
This commit is contained in:
parent
27764aa355
commit
6fdf6dd752
35
test/language/subclassing/TypedArray/regular-subclassing.js
Normal file
35
test/language/subclassing/TypedArray/regular-subclassing.js
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
es6id: 22.2.4
|
||||||
|
description: Subclassing TypedArrays
|
||||||
|
info: >
|
||||||
|
22.2.4 The TypedArray Constructors
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
The TypedArray constructors are designed to be subclassable. They may be used
|
||||||
|
as the value of an extends clause of a class definition. Subclass constructors
|
||||||
|
that intend to inherit the specified TypedArray behaviour must include a super
|
||||||
|
call to the TypedArray constructor to create and initialize the subclass
|
||||||
|
instance with the internal state necessary to support the
|
||||||
|
%TypedArray%.prototype built-in methods.
|
||||||
|
---*/
|
||||||
|
|
||||||
|
[
|
||||||
|
Int8Array,
|
||||||
|
Uint8Array,
|
||||||
|
Uint8ClampedArray,
|
||||||
|
Int16Array,
|
||||||
|
Uint16Array,
|
||||||
|
Int32Array,
|
||||||
|
Uint32Array,
|
||||||
|
Float32Array,
|
||||||
|
Float64Array
|
||||||
|
].forEach(function(Constructor) {
|
||||||
|
class Typed extends Constructor {}
|
||||||
|
|
||||||
|
var arr = new Typed(2);
|
||||||
|
|
||||||
|
assert.sameValue(arr.length, 2);
|
||||||
|
});
|
45
test/language/subclassing/TypedArray/super-must-be-called.js
Normal file
45
test/language/subclassing/TypedArray/super-must-be-called.js
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
// Copyright (C) 2016 the V8 project authors. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
/*---
|
||||||
|
es6id: 22.2.4
|
||||||
|
description: Super need to be called to initialize internals
|
||||||
|
info: >
|
||||||
|
22.2.4 The TypedArray Constructors
|
||||||
|
|
||||||
|
...
|
||||||
|
|
||||||
|
The TypedArray constructors are designed to be subclassable. They may be used
|
||||||
|
as the value of an extends clause of a class definition. Subclass constructors
|
||||||
|
that intend to inherit the specified TypedArray behaviour must include a super
|
||||||
|
call to the TypedArray constructor to create and initialize the subclass
|
||||||
|
instance with the internal state necessary to support the
|
||||||
|
%TypedArray%.prototype built-in methods.
|
||||||
|
---*/
|
||||||
|
|
||||||
|
[
|
||||||
|
Int8Array,
|
||||||
|
Uint8Array,
|
||||||
|
Uint8ClampedArray,
|
||||||
|
Int16Array,
|
||||||
|
Uint16Array,
|
||||||
|
Int32Array,
|
||||||
|
Uint32Array,
|
||||||
|
Float32Array,
|
||||||
|
Float64Array
|
||||||
|
].forEach(function(Constructor) {
|
||||||
|
class Typed extends Constructor {
|
||||||
|
constructor() {}
|
||||||
|
}
|
||||||
|
|
||||||
|
assert.throws(ReferenceError, function() {
|
||||||
|
new Typed();
|
||||||
|
});
|
||||||
|
|
||||||
|
class TypedWithSuper extends Constructor {
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
new TypedWithSuper();
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user