1'use strict';
2require('../common');
3const assert = require('assert');
4
5const buffer = Buffer.from([1, 2, 3, 4, 5]);
6let arr;
7let b;
8
9// Buffers should be iterable
10
11arr = [];
12
13for (b of buffer)
14  arr.push(b);
15
16assert.deepStrictEqual(arr, [1, 2, 3, 4, 5]);
17
18
19// Buffer iterators should be iterable
20
21arr = [];
22
23for (b of buffer[Symbol.iterator]())
24  arr.push(b);
25
26assert.deepStrictEqual(arr, [1, 2, 3, 4, 5]);
27
28
29// buffer#values() should return iterator for values
30
31arr = [];
32
33for (b of buffer.values())
34  arr.push(b);
35
36assert.deepStrictEqual(arr, [1, 2, 3, 4, 5]);
37
38
39// buffer#keys() should return iterator for keys
40
41arr = [];
42
43for (b of buffer.keys())
44  arr.push(b);
45
46assert.deepStrictEqual(arr, [0, 1, 2, 3, 4]);
47
48
49// buffer#entries() should return iterator for entries
50
51arr = [];
52
53for (b of buffer.entries())
54  arr.push(b);
55
56assert.deepStrictEqual(arr, [
57  [0, 1],
58  [1, 2],
59  [2, 3],
60  [3, 4],
61  [4, 5],
62]);
63