/
test.coffee
53 lines (50 loc) · 1.03 KB
/
test.coffee
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
Mocha = require('mocha')
fs = require('fs')
async = require('async')
mocha = new Mocha()
rootDir = __dirname
async.series([
# main test directory
(cb) ->
dir = "#{rootDir}/test"
fs.readdir(dir, (err, files) ->
if err?
cb(err)
return
for file in files
if /\.js$/.test(file)
mocha.addFile("#{dir}/#{file}")
cb()
)
# plugins
(cb) ->
dir = "#{rootDir}/src/plugins"
fs.readdir(dir, (err, files) ->
if err
cb(err)
return
async.map(files, (folder, cb) ->
curDir = "#{dir}/#{folder}/test"
fs.readdir(curDir, (err, files) ->
if err
cb()
return
for file in files
if /\.js$/.test(file)
mocha.addFile("#{curDir}/#{file}")
cb()
return
)
, (err) ->
cb(err)
)
)
;
(cb) ->
runner = mocha.run( (e) ->
process.exit(e)
)
], (err) ->
if err
process.exit(1)
)