Skip to content

Commit 7d4c16c

Browse files
committed
added unit test to ensure issue jakesgordon#90 is fixed
1 parent 7ed79fc commit 7d4c16c

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

test/test_basics.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,14 +119,15 @@ test("transitions", function() {
119119
var fsm = StateMachine.create({
120120
initial: 'green',
121121
events: [
122-
{ name: 'warn', from: 'green', to: 'yellow' },
123-
{ name: 'panic', from: 'yellow', to: 'red' },
124-
{ name: 'calm', from: 'red', to: 'yellow' },
125-
{ name: 'clear', from: 'yellow', to: 'green' }
122+
{ name: 'warn', from: 'green', to: 'yellow' },
123+
{ name: 'panic', from: 'yellow', to: 'red' },
124+
{ name: 'calm', from: 'red', to: 'yellow' },
125+
{ name: 'clear', from: 'yellow', to: 'green' },
126+
{ name: 'finish', from: 'green', to: 'done' },
126127
]});
127128

128129
equal(fsm.current, 'green', 'current state should be yellow');
129-
deepEqual(fsm.transitions(), ['warn'], 'current transition(s) should be yellow');
130+
deepEqual(fsm.transitions(), ['warn', 'finish'], 'current transition(s) should be yellow');
130131

131132
fsm.warn();
132133
equal(fsm.current, 'yellow', 'current state should be yellow');
@@ -142,7 +143,12 @@ test("transitions", function() {
142143

143144
fsm.clear();
144145
equal(fsm.current, 'green', 'current state should be green');
145-
deepEqual(fsm.transitions(), ['warn'], 'current transion(s) should be warn');
146+
deepEqual(fsm.transitions(), ['warn', 'finish'], 'current transion(s) should be warn');
147+
148+
fsm.finish();
149+
equal(fsm.current, 'done', 'current state should be done');
150+
deepEqual(fsm.transitions(), [], 'current transition(s) should be empty');
151+
146152
});
147153

148154
//-----------------------------------------------------------------------------

0 commit comments

Comments
 (0)