]> git.gir.st - VimFx.git/blob - extension/test/index.coffee
Major refactor: Rework all UI and related improvements
[VimFx.git] / extension / test / index.coffee
1 ###
2 # Copyright Simon Lydell 2014.
3 #
4 # This file is part of VimFx.
5 #
6 # VimFx is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # VimFx is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with VimFx. If not, see <http://www.gnu.org/licenses/>.
18 ###
19
20 list = require('./tests-list')
21 utils = require('../lib/utils')
22
23 { utils: Cu } = Components
24
25 Cu.import('resource://specialpowers/Assert.jsm')
26 assert = new Assert()
27
28 module.exports = (vimfx) ->
29 report = []
30 passed = 0
31 total = 0
32
33 for name in list
34 tests = require("./#{ name }")
35 report.push(name)
36 for key, fn of tests when key.startsWith('test')
37 total++
38 error = null
39 try
40 fn(assert, vimfx)
41 passed++
42 catch error
43 report.push(" #{ if error then '✘' else '✔' } #{ key }")
44 report.push(utils.formatError(error).replace(/^/gm, ' ')) if error
45
46 report.push("#{ passed }/#{ total } tests passed.")
47 console.log("\n#{ report.join('\n') }")
Imprint / Impressum