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

test-stream-buffer-list.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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// 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
// Flags: --expose-internals'use strict';require('../common');const assert = require('assert');const BufferList = require('internal/streams/buffer_list');
// Test empty buffer list.const emptyList = new BufferList();
emptyList.shift();assert.deepStrictEqual(emptyList, new BufferList());
assert.strictEqual(emptyList.join(','), '');
assert.deepStrictEqual(emptyList.concat(0), Buffer.alloc(0));
const buf = Buffer.from('foo');
function testIterator(list, count) { // test iterator let len = 0; // eslint-disable-next-line no-unused-vars for (const x of list) { len++; } assert.strictEqual(len, count);}
// Test buffer list with one element.const list = new BufferList();testIterator(list, 0);
list.push(buf);testIterator(list, 1);for (const x of list) { assert.strictEqual(x, buf);}
const copy = list.concat(3);testIterator(copy, 3);
assert.notStrictEqual(copy, buf);assert.deepStrictEqual(copy, buf);
assert.strictEqual(list.join(','), 'foo');
const shifted = list.shift();testIterator(list, 0);assert.strictEqual(shifted, buf);assert.deepStrictEqual(list, new BufferList());
{ const list = new BufferList(); list.push('foo'); list.push('bar'); list.push('foo'); list.push('bar'); assert.strictEqual(list.consume(6, true), 'foobar'); assert.strictEqual(list.consume(6, true), 'foobar');}
{ const list = new BufferList(); list.push('foo'); list.push('bar'); assert.strictEqual(list.consume(5, true), 'fooba');}
{ const list = new BufferList(); list.push(buf); list.push(buf); list.push(buf); list.push(buf); assert.strictEqual(list.consume(6).toString(), 'foofoo'); assert.strictEqual(list.consume(6).toString(), 'foofoo');}
{ const list = new BufferList(); list.push(buf); list.push(buf); assert.strictEqual(list.consume(5).toString(), 'foofo');}
std

Version Info

Tagged at
a year ago