spec/unit/target_spec.rb in finite_machine-0.10.0 vs spec/unit/target_spec.rb in finite_machine-0.10.1
- old
+ new
@@ -1,13 +1,12 @@
# encoding: utf-8
require 'spec_helper'
-describe FiniteMachine, '#target' do
-
+RSpec.describe FiniteMachine, '#target' do
it "allows to target external object" do
- Car = Class.new do
+ stub_const("Car", Class.new do
attr_accessor :reverse_lights
def turn_reverse_lights_off
@reverse_lights = false
end
@@ -43,11 +42,11 @@
target.turn_reverse_lights_off
end
}
end
end
- end
+ end)
car = Car.new
expect(car.reverse_lights?).to be(false)
expect(car.engine.current).to eql(:neutral)
car.engine.back
expect(car.engine.current).to eql(:reverse)
@@ -102,11 +101,11 @@
expect(fsm.current).to eql(:red)
expect(called).to eql(['yellow now'])
end
it "allows context methods take precedence over machine ones" do
- Car = Class.new do
+ stub_const("Car", Class.new do
attr_accessor :reverse_lights
attr_accessor :called
def turn_reverse_lights_off
@reverse_lights = false
@@ -145,11 +144,11 @@
target.called << "on_enter_forward with #{name}"
end
}
end
end
- end
+ end)
car = Car.new
expect(car.reverse_lights?).to be(false)
expect(car.engine.current).to eql(:neutral)
car.engine.back
@@ -183,17 +182,17 @@
expect(called).to eq(context)
end
it "allows to differentiate between same named methods" do
called = []
- Car = Class.new do
+ stub_const("Car", Class.new do
def initialize(called)
@called = called
end
def save
@called << 'car save called'
end
- end
+ end)
car = Car.new(called)
fsm = FiniteMachine.define do
initial :unsaved