spec/unit/events_spec.rb in finite_machine-0.9.0 vs spec/unit/events_spec.rb in finite_machine-0.9.1
- old
+ new
@@ -109,9 +109,32 @@
expect(fsm.current).to eql(:green)
fsm.run
expect(fsm.current).to eql(:green)
end
+ it "permits event from any state for hash syntax" do
+ fsm = FiniteMachine.define do
+ initial :red
+
+ events {
+ event :start, :red => :yellow
+ event :run, :yellow => :green
+ event :stop, :green => :red
+ event :go, :any => :green
+ }
+ end
+
+ expect(fsm.current).to eql(:red)
+
+ fsm.go
+ expect(fsm.current).to eql(:green)
+ fsm.stop
+ fsm.start
+ expect(fsm.current).to eql(:yellow)
+ fsm.go
+ expect(fsm.current).to eql(:green)
+ end
+
it "permits event from any state without 'from'" do
fsm = FiniteMachine.define do
initial :green
events {