deno.land / std@0.166.0 / node / _tools / test / parallel / test-buffer-slow.js

test-buffer-slow.js
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// deno-fmt-ignore-file// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.// Taken from Node 18.12.0// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
'use strict';
require('../common');const assert = require('assert');const buffer = require('buffer');const SlowBuffer = buffer.SlowBuffer;
const ones = [1, 1, 1, 1];
// Should create a Bufferlet sb = SlowBuffer(4);assert(sb instanceof Buffer);assert.strictEqual(sb.length, 4);sb.fill(1);for (const [key, value] of sb.entries()) { assert.deepStrictEqual(value, ones[key]);}
// underlying ArrayBuffer should have the same lengthassert.strictEqual(sb.buffer.byteLength, 4);
// Should work without newsb = SlowBuffer(4);assert(sb instanceof Buffer);assert.strictEqual(sb.length, 4);sb.fill(1);for (const [key, value] of sb.entries()) { assert.deepStrictEqual(value, ones[key]);}
// Should work with edge casesassert.strictEqual(SlowBuffer(0).length, 0);try { assert.strictEqual( SlowBuffer(buffer.kMaxLength).length, buffer.kMaxLength);} catch (e) { // Don't match on message as it is from the JavaScript engine. V8 and // ChakraCore provide different messages. assert.strictEqual(e.name, 'RangeError');}
// Should throw with invalid length typeconst bufferInvalidTypeMsg = { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError', message: /^The "size" argument must be of type number/,};assert.throws(() => SlowBuffer(), bufferInvalidTypeMsg);assert.throws(() => SlowBuffer({}), bufferInvalidTypeMsg);assert.throws(() => SlowBuffer('6'), bufferInvalidTypeMsg);assert.throws(() => SlowBuffer(true), bufferInvalidTypeMsg);
// Should throw with invalid length valueconst bufferMaxSizeMsg = { code: 'ERR_INVALID_ARG_VALUE', name: 'RangeError', message: /^The argument 'size' is invalid\. Received [^"]*$/};assert.throws(() => SlowBuffer(NaN), bufferMaxSizeMsg);assert.throws(() => SlowBuffer(Infinity), bufferMaxSizeMsg);assert.throws(() => SlowBuffer(-1), bufferMaxSizeMsg);assert.throws(() => SlowBuffer(buffer.kMaxLength + 1), bufferMaxSizeMsg);
std

Version Info

Tagged at
a year ago