333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
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
var test = require('tap').test;
var streamBuffers = require("stream-buffers");
var SliceStream = require('../');
 
test("pipe a fixed length number of bytes, then end the stream", function (t) {
  t.plan(2);
 
  var ss = new SliceStream({ length: 5}, function (buf, sliceEnd, extra) {
    if (!sliceEnd) {
      return this.push(buf);
    }
    this.push(buf);
    t.equal(extra.toString(), ' World');
    return this.push(null);
  });
 
  var sourceStream = new streamBuffers.ReadableStreamBuffer();
  sourceStream.put("Hello World");
  var writableStream = new streamBuffers.WritableStreamBuffer();
 
  sourceStream
    .pipe(ss)
    .pipe(writableStream)
    .once('close', function () {
      var str = writableStream.getContentsAsString('utf8');
      t.equal(str, 'Hello');
      sourceStream.destroy();
      t.end();
    });
});