/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
deps/v8/test/mjsunit/harmony/array-sort-comparefn.js
42 строки
1 KB
Michaël Zasso
deps: update V8 to 12.2.281.27
31 мар 2024, 16:36
Не верифицирован
31 мар 2024, 16:36
09a8440
Код
Авторство
О чём код?
// Copyright 2017 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. // Array.prototype.sort + TypedArray.prototype.sort: comparefn must be either a // function or undefined. // https://github.com/tc39/ecma262/pull/785 const types = [ Array, Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Uint8ClampedArray, Float32Array, Float64Array, ]; for (const type of types) { const array = new type(); array[0] = 1; array[1] = 2; array[2] = 3; array.sort(); array.sort(undefined); array.sort(() => {}); assertThrows(() => { array.sort(null); }, TypeError); assertThrows(() => { array.sort(true); }, TypeError); assertThrows(() => { array.sort(false); }, TypeError); assertThrows(() => { array.sort(''); }, TypeError); assertThrows(() => { array.sort(0); }, TypeError); assertThrows(() => { array.sort(42); }, TypeError); assertThrows(() => { array.sort([]); }, TypeError); assertThrows(() => { array.sort(/./); }, TypeError); assertThrows(() => { array.sort({}); }, TypeError); assertThrows(() => { array.sort(Symbol()); }, TypeError); } assertThrows( () => Array.prototype.sort.call(null, 42), TypeError, 'The comparison function must be either a function or undefined: 42');