1 | status = require '../'
|
2 | should = require 'should'
|
3 | require 'mocha'
|
4 |
|
5 | describe 'loading', ->
|
6 | it 'should load a valid plugin', (done) ->
|
7 | plugin =
|
8 | meta:
|
9 | name: "test"
|
10 | author: "Contra"
|
11 | version: "0.0.1"
|
12 |
|
13 | res = status.load plugin
|
14 | res.should.equal true
|
15 | status.remove plugin.meta.name
|
16 | done()
|
17 |
|
18 | it 'should not load with an invalid name', (done) ->
|
19 | plugin =
|
20 | meta:
|
21 | name: "test lol !!"
|
22 | author: "Contra"
|
23 | version: "0.0.1"
|
24 |
|
25 | res = status.load plugin
|
26 | res.should.not.equal true
|
27 | status.remove plugin.meta.name
|
28 | done()
|
29 |
|
30 | it 'should not load with an invalid version', (done) ->
|
31 | plugin =
|
32 | meta:
|
33 | name: "test"
|
34 | author: "Contra"
|
35 | version: "-1"
|
36 |
|
37 | res = status.load plugin
|
38 | res.should.not.equal true
|
39 | status.remove plugin.meta.name
|
40 | done()
|
41 |
|
42 | describe 'listing', ->
|
43 | it 'should load and list a valid plugin', (done) ->
|
44 | plugin =
|
45 | meta:
|
46 | name: "test"
|
47 | author: "Contra"
|
48 | version: "0.0.1"
|
49 |
|
50 | res = status.load plugin
|
51 | res.should.equal true
|
52 | status.plugin(plugin.meta.name).details().version.should.equal plugin.meta.version
|
53 | status.remove plugin.meta.name
|
54 | done()
|
55 |
|
56 | describe 'executing', ->
|
57 | it 'should load and execute a valid plugin', (done) ->
|
58 | plugin =
|
59 | meta:
|
60 | name: "test"
|
61 | author: "Contra"
|
62 | version: "0.0.1"
|
63 | doStuff: (a, b) -> @done a+b
|
64 |
|
65 | res = status.load plugin
|
66 | res.should.equal true
|
67 | plug = status.plugin plugin.meta.name
|
68 | op = plug.operation "doStuff"
|
69 | op.on 'error', done
|
70 | op.on 'done', (ret) ->
|
71 | should.exist ret
|
72 | ret.should.equal 3
|
73 | status.remove plugin.meta.name
|
74 | done()
|
75 | op.run 1, 2 |
\ | No newline at end of file |