Upgrade to Rails 2.2.0
As a side benefit, fix an (non-user-visible) bug in display_s5(). Also fixed a bug where removing orphaned pages did not expire cached summary pages.
This commit is contained in:
parent
39348c65c2
commit
7600aef48b
827 changed files with 123652 additions and 11027 deletions
43
vendor/rails/activemodel/test/state_machine/machine_test.rb
vendored
Normal file
43
vendor/rails/activemodel/test/state_machine/machine_test.rb
vendored
Normal file
|
@ -0,0 +1,43 @@
|
|||
require File.expand_path(File.join(File.dirname(__FILE__), '..', 'test_helper'))
|
||||
|
||||
class MachineTestSubject
|
||||
include ActiveModel::StateMachine
|
||||
|
||||
state_machine do
|
||||
state :open
|
||||
state :closed
|
||||
end
|
||||
|
||||
state_machine :initial => :foo do
|
||||
event :shutdown do
|
||||
transitions :from => :open, :to => :closed
|
||||
end
|
||||
|
||||
event :timeout do
|
||||
transitions :from => :open, :to => :closed
|
||||
end
|
||||
end
|
||||
|
||||
state_machine :extra, :initial => :bar do
|
||||
end
|
||||
end
|
||||
|
||||
class StateMachineMachineTest < ActiveModel::TestCase
|
||||
test "allows reuse of existing machines" do
|
||||
assert_equal 2, MachineTestSubject.state_machines.size
|
||||
end
|
||||
|
||||
test "sets #initial_state from :initial option" do
|
||||
assert_equal :bar, MachineTestSubject.state_machine(:extra).initial_state
|
||||
end
|
||||
|
||||
test "accesses non-default state machine" do
|
||||
assert_kind_of ActiveModel::StateMachine::Machine, MachineTestSubject.state_machine(:extra)
|
||||
end
|
||||
|
||||
test "finds events for given state" do
|
||||
events = MachineTestSubject.state_machine.events_for(:open)
|
||||
assert events.include?(:shutdown)
|
||||
assert events.include?(:timeout)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue