/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
deps/v8/test/mjsunit/es6/arraybuffer-species.js
34 строки
1 KB
Michaël Zasso
deps: update V8 to 5.4.500.27
22 сен 2016, 10:51
22 сен 2016, 10:51
ec02b81
Код
Авторство
О чём код?
// Copyright 2015 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // ArrayBuffer.prototype.slice makes subclass and checks length class MyArrayBuffer extends ArrayBuffer { } assertEquals(MyArrayBuffer, new MyArrayBuffer(0).slice().constructor); class MyShortArrayBuffer extends ArrayBuffer { constructor(length) { super(length - 1); } } assertThrows(() => new MyShortArrayBuffer(5).slice(0, 4), TypeError); class SingletonArrayBuffer extends ArrayBuffer { constructor(...args) { if (SingletonArrayBuffer.cached) return SingletonArrayBuffer.cached; super(...args); SingletonArrayBuffer.cached = this; } } assertThrows(() => new SingletonArrayBuffer(5).slice(0, 4), TypeError); class NonArrayBuffer extends ArrayBuffer { constructor() { return {}; } } assertThrows(() => new NonArrayBuffer(5).slice(0, 4), TypeError); // Species fallback is ArrayBuffer class UndefinedArrayBuffer extends ArrayBuffer { } UndefinedArrayBuffer.prototype.constructor = undefined; assertEquals(ArrayBuffer, new UndefinedArrayBuffer(0).slice().constructor);