1
1
"use strict" ;
2
2
var vows = require ( 'vows' )
3
3
, assert = require ( 'assert' )
4
+ , util = require ( 'util' )
5
+ , EE = require ( 'events' ) . EventEmitter
4
6
, levels = require ( '../lib/levels' ) ;
5
7
6
8
function MockLogger ( ) {
@@ -31,13 +33,14 @@ function MockRequest(remoteAddr, method, originalUrl) {
31
33
}
32
34
33
35
function MockResponse ( statusCode ) {
34
-
36
+ var r = this ;
35
37
this . statusCode = statusCode ;
36
38
37
39
this . end = function ( chunk , encoding ) {
38
-
40
+ r . emit ( 'finish' ) ;
39
41
} ;
40
42
}
43
+ util . inherits ( MockResponse , EE ) ;
41
44
42
45
vows . describe ( 'log4js connect logger' ) . addBatch ( {
43
46
'getConnectLoggerModule' : {
@@ -61,9 +64,12 @@ vows.describe('log4js connect logger').addBatch({
61
64
topic : function ( d ) {
62
65
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.png' ) ; // not gif
63
66
var res = new MockResponse ( 200 ) ;
67
+ var cb = this . callback ;
64
68
d . cl ( req , res , function ( ) { } ) ;
65
69
res . end ( 'chunk' , 'encoding' ) ;
66
- return d . ml . messages ;
70
+ setTimeout ( function ( ) {
71
+ cb ( null , d . ml . messages ) ;
72
+ } , 10 ) ;
67
73
} ,
68
74
'check message' : function ( messages ) {
69
75
assert . isArray ( messages ) ;
@@ -81,9 +87,12 @@ vows.describe('log4js connect logger').addBatch({
81
87
topic : function ( d ) {
82
88
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.gif' ) ; // gif
83
89
var res = new MockResponse ( 200 ) ;
90
+ var cb = this . callback ;
84
91
d . cl ( req , res , function ( ) { } ) ;
85
92
res . end ( 'chunk' , 'encoding' ) ;
86
- return d . ml . messages ;
93
+ setTimeout ( function ( ) {
94
+ cb ( null , d . ml . messages ) ;
95
+ } , 10 ) ;
87
96
} ,
88
97
'check message' : function ( messages ) {
89
98
assert . isArray ( messages ) ;
@@ -103,9 +112,12 @@ vows.describe('log4js connect logger').addBatch({
103
112
topic : function ( d ) {
104
113
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.png' ) ; // not gif
105
114
var res = new MockResponse ( 200 ) ;
115
+ var cb = this . callback ;
106
116
d . cl ( req , res , function ( ) { } ) ;
107
117
res . end ( 'chunk' , 'encoding' ) ;
108
- return d . ml . messages ;
118
+ setTimeout ( function ( ) {
119
+ cb ( null , d . ml . messages )
120
+ } , 10 ) ;
109
121
} ,
110
122
'check message' : function ( messages ) {
111
123
assert . isArray ( messages ) ;
@@ -123,9 +135,12 @@ vows.describe('log4js connect logger').addBatch({
123
135
topic : function ( d ) {
124
136
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.gif' ) ; // gif
125
137
var res = new MockResponse ( 200 ) ;
138
+ var cb = this . callback ;
126
139
d . cl ( req , res , function ( ) { } ) ;
127
140
res . end ( 'chunk' , 'encoding' ) ;
128
- return d . ml . messages ;
141
+ setTimeout ( function ( ) {
142
+ cb ( null , d . ml . messages )
143
+ } , 10 ) ;
129
144
} ,
130
145
'check message' : function ( messages ) {
131
146
assert . isArray ( messages ) ;
@@ -136,9 +151,12 @@ vows.describe('log4js connect logger').addBatch({
136
151
topic : function ( d ) {
137
152
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.jpeg' ) ; // gif
138
153
var res = new MockResponse ( 200 ) ;
154
+ var cb = this . callback ;
139
155
d . cl ( req , res , function ( ) { } ) ;
140
156
res . end ( 'chunk' , 'encoding' ) ;
141
- return d . ml . messages ;
157
+ setTimeout ( function ( ) {
158
+ cb ( null , d . ml . messages )
159
+ } , 10 ) ;
142
160
} ,
143
161
'check message' : function ( messages ) {
144
162
assert . isArray ( messages ) ;
@@ -157,9 +175,12 @@ vows.describe('log4js connect logger').addBatch({
157
175
topic : function ( d ) {
158
176
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.png' ) ; // not gif
159
177
var res = new MockResponse ( 200 ) ;
178
+ var cb = this . callback ;
160
179
d . cl ( req , res , function ( ) { } ) ;
161
180
res . end ( 'chunk' , 'encoding' ) ;
162
- return d . ml . messages ;
181
+ setTimeout ( function ( ) {
182
+ cb ( null , d . ml . messages )
183
+ } , 10 ) ;
163
184
} ,
164
185
'check message' : function ( messages ) {
165
186
assert . isArray ( messages ) ;
@@ -177,9 +198,12 @@ vows.describe('log4js connect logger').addBatch({
177
198
topic : function ( d ) {
178
199
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.gif' ) ; // gif
179
200
var res = new MockResponse ( 200 ) ;
201
+ var cb = this . callback ;
180
202
d . cl ( req , res , function ( ) { } ) ;
181
203
res . end ( 'chunk' , 'encoding' ) ;
182
- return d . ml . messages ;
204
+ setTimeout ( function ( ) {
205
+ cb ( null , d . ml . messages )
206
+ } , 10 ) ;
183
207
} ,
184
208
'check message' : function ( messages ) {
185
209
assert . isArray ( messages ) ;
@@ -191,9 +215,12 @@ vows.describe('log4js connect logger').addBatch({
191
215
topic : function ( d ) {
192
216
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.jpeg' ) ; // gif
193
217
var res = new MockResponse ( 200 ) ;
218
+ var cb = this . callback ;
194
219
d . cl ( req , res , function ( ) { } ) ;
195
220
res . end ( 'chunk' , 'encoding' ) ;
196
- return d . ml . messages ;
221
+ setTimeout ( function ( ) {
222
+ cb ( null , d . ml . messages )
223
+ } , 10 ) ;
197
224
} ,
198
225
'check message' : function ( messages ) {
199
226
assert . isArray ( messages ) ;
@@ -212,9 +239,12 @@ vows.describe('log4js connect logger').addBatch({
212
239
topic : function ( d ) {
213
240
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.png' ) ; // not gif
214
241
var res = new MockResponse ( 200 ) ;
242
+ var cb = this . callback ;
215
243
d . cl ( req , res , function ( ) { } ) ;
216
244
res . end ( 'chunk' , 'encoding' ) ;
217
- return d . ml . messages ;
245
+ setTimeout ( function ( ) {
246
+ cb ( null , d . ml . messages )
247
+ } , 10 ) ;
218
248
} ,
219
249
'check message' : function ( messages ) {
220
250
assert . isArray ( messages ) ;
@@ -232,9 +262,12 @@ vows.describe('log4js connect logger').addBatch({
232
262
topic : function ( d ) {
233
263
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.gif' ) ; // gif
234
264
var res = new MockResponse ( 200 ) ;
265
+ var cb = this . callback ;
235
266
d . cl ( req , res , function ( ) { } ) ;
236
267
res . end ( 'chunk' , 'encoding' ) ;
237
- return d . ml . messages ;
268
+ setTimeout ( function ( ) {
269
+ cb ( null , d . ml . messages )
270
+ } , 10 ) ;
238
271
} ,
239
272
'check message' : function ( messages ) {
240
273
assert . isArray ( messages ) ;
@@ -246,9 +279,12 @@ vows.describe('log4js connect logger').addBatch({
246
279
topic : function ( d ) {
247
280
var req = new MockRequest ( 'my.remote.addr' , 'GET' , 'http://url/hoge.jpeg' ) ; // gif
248
281
var res = new MockResponse ( 200 ) ;
282
+ var cb = this . callback ;
249
283
d . cl ( req , res , function ( ) { } ) ;
250
284
res . end ( 'chunk' , 'encoding' ) ;
251
- return d . ml . messages ;
285
+ setTimeout ( function ( ) {
286
+ cb ( null , d . ml . messages )
287
+ } , 10 ) ;
252
288
} ,
253
289
'check message' : function ( messages ) {
254
290
assert . isArray ( messages ) ;
0 commit comments