UNPKG

1.52 kBtext/coffeescriptView Raw
1e = require 'expect.js'
2fs = require 'fs'
3Stream = require '../lib/stream'
4
5mockPath = "#{__dirname}/mock"
6filePath = "#{mockPath}/stream.log"
7
8describe 'Stream', ->
9 before (done)->
10 fs.mkdirSync mockPath
11 done()
12
13 beforeEach (done)->
14 fs.writeFileSync filePath, '', 'utf-8'
15 done()
16
17 afterEach (done)->
18 fs.writeFileSync filePath, '', 'utf-8'
19 done()
20
21 after (done)->
22 fs.unlinkSync filePath
23 fs.rmdirSync mockPath
24 done()
25
26 it 'write', (done)->
27 stream = Stream
28 filePath : filePath
29 stream.write 'msg\n'
30 stream.write 'msg\n'
31 setTimeout ->
32 str = fs.readFileSync filePath, 'utf-8'
33 e(str).to.be 'msg\nmsg\n'
34 e(stream._buffer.length).to.be 0
35 stream.end()
36 done()
37 , 300
38
39 it 'write on buffer over', (done)->
40 stream = Stream
41 bufferLength : 100
42 filePath : filePath
43 result = []
44 for i in [0...100]
45 result.push 'msg\n'
46 stream.write 'msg\n'
47 str = fs.readFileSync filePath, 'utf-8'
48 e(str).to.be ''
49 result.push 'msg\n'
50 stream.write 'msg\n'
51 setTimeout ->
52 str = fs.readFileSync filePath, 'utf-8'
53 e(str).to.be result.join ''
54 e(stream._buffer.length).to.be 0
55 stream.end()
56 done()
57 , 300
58
59 it 'end', (done)->
60 stream = Stream
61 filePath : filePath
62 stream.write 'msg\n'
63 stream.end()
64 setTimeout ->
65 str = fs.readFileSync filePath, 'utf-8'
66 e(str).to.be 'msg\n'
67 e(stream._buffer.length).to.be 0
68 done()
69 , 200