-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
103 lines (79 loc) · 2.2 KB
/
test.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
93
94
95
96
97
98
99
100
101
102
103
var choppa = require('choppa')
var headerStream = require('.')
var test = require('tape')
var stream = require('stream')
var through = require('through2')
test('Sample', function (assert) {
var data = Buffer.allocUnsafe(16)
var a = headerStream(15, function (header, swap) {
assert.ok(Buffer.compare(header, data.slice(0, 15)) === 0)
swap(null, headerStream(1, function (piece, swap) {
assert.ok(Buffer.compare(piece, data.slice(15)) === 0)
swap(null, null)
}))
})
a.on('error', assert.error)
a.on('end', assert.end)
a.on('data', assert.fail)
var source = choppa(3)
source.pipe(a)
source.write(data)
source.end()
})
test('Too short', function (assert) {
var data = Buffer.allocUnsafe(8)
var a = headerStream(15, function (header, swap) {
assert.ok(header.length < 15)
assert.ok(Buffer.compare(header, data) === 0)
swap(null, null)
})
a.on('error', assert.error)
a.on('end', assert.end)
a.on('data', assert.fail)
var source = choppa(3)
source.pipe(a)
source.write(data)
source.end()
})
test('Rewrite header', function (assert) {
var data = Buffer.allocUnsafe(16)
var a = headerStream(15, function (header, swap) {
assert.ok(Buffer.compare(header, data.slice(0, 15)) === 0)
b.write(header)
swap(null, b)
})
var b = headerStream(16, function (piece, swap) {
assert.ok(Buffer.compare(piece, data) === 0)
swap(null, null)
})
b.on('error', assert.error)
b.on('end', assert.end)
b.on('data', assert.fail)
var source = choppa(3)
source.pipe(a)
source.write(Buffer.from([]))
source.write(data)
source.end()
})
test('Set stream async', function (assert) {
var data = Buffer.allocUnsafe(16)
var a = headerStream(8, function (header, swap) {
assert.ok(Buffer.compare(header, data.slice(0, 8)) === 0)
process.nextTick(function () {
b.write(header)
swap(null, b)
})
})
var b = headerStream(16, function (piece, swap) {
assert.ok(Buffer.compare(piece, data) === 0)
swap(null, null)
})
b.on('error', assert.error)
b.on('end', assert.end)
b.on('data', assert.fail)
var source = choppa(3)
source.pipe(a)
source.write(Buffer.from([]))
source.write(data)
source.end()
})