Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
80724 views
1
var B = require('../').Buffer
2
var test = require('tape')
3
if (process.env.OBJECT_IMPL) B.TYPED_ARRAY_SUPPORT = false
4
5
6
test('modifying buffer created by .slice() modifies original memory', function (t) {
7
if (!B._useTypedArrays) return t.end()
8
9
var buf1 = new B(26)
10
for (var i = 0 ; i < 26 ; i++) {
11
buf1[i] = i + 97 // 97 is ASCII a
12
}
13
14
var buf2 = buf1.slice(0, 3)
15
t.equal(buf2.toString('ascii', 0, buf2.length), 'abc')
16
17
buf2[0] = '!'.charCodeAt(0)
18
t.equal(buf1.toString('ascii', 0, buf2.length), '!bc')
19
20
t.end()
21
})
22
23
test('modifying parent buffer modifies .slice() buffer\'s memory', function (t) {
24
if (!B._useTypedArrays) return t.end()
25
26
var buf1 = new B(26)
27
for (var i = 0 ; i < 26 ; i++) {
28
buf1[i] = i + 97 // 97 is ASCII a
29
}
30
31
var buf2 = buf1.slice(0, 3)
32
t.equal(buf2.toString('ascii', 0, buf2.length), 'abc')
33
34
buf1[0] = '!'.charCodeAt(0)
35
t.equal(buf2.toString('ascii', 0, buf2.length), '!bc')
36
37
t.end()
38
})
39
40