1 | e = require 'expect.js'
|
2 | fs = require 'fs'
|
3 | Stream = require '../lib/stream'
|
4 |
|
5 | mockPath = "#{__dirname}/mock"
|
6 | filePath = "#{mockPath}/stream.log"
|
7 |
|
8 | describe '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 | duration : 100
|
29 | filePath : filePath
|
30 | stream.write 'msg\n'
|
31 | stream.write 'msg\n'
|
32 | setTimeout ->
|
33 | str = fs.readFileSync filePath, 'utf-8'
|
34 | e(str).to.be 'msg\nmsg\n'
|
35 | e(stream._buffer.length).to.be 0
|
36 | stream.end()
|
37 | done()
|
38 | , 110
|
39 |
|
40 | it 'write on buffer over', (done)->
|
41 | stream = Stream
|
42 | duration : 100
|
43 | bufferLength : 100
|
44 | filePath : filePath
|
45 | result = []
|
46 | for i in [0...100]
|
47 | result.push 'msg\n'
|
48 | stream.write 'msg\n'
|
49 | str = fs.readFileSync filePath, 'utf-8'
|
50 | e(str).to.be ''
|
51 | result.push 'msg\n'
|
52 | stream.write 'msg\n'
|
53 | setTimeout ->
|
54 | str = fs.readFileSync filePath, 'utf-8'
|
55 | e(str).to.be result.join ''
|
56 | e(stream._buffer.length).to.be 0
|
57 | stream.end()
|
58 | done()
|
59 | , 10
|
60 |
|
61 | it 'end', (done)->
|
62 | stream = Stream
|
63 | duration : 100
|
64 | filePath : filePath
|
65 | stream.write 'msg\n'
|
66 | setTimeout ->
|
67 | stream.end()
|
68 | str = fs.readFileSync filePath, 'utf-8'
|
69 | e(str).to.be 'msg\n'
|
70 | e(stream._buffer.length).to.be 0
|
71 | done()
|
72 | , 50
|