diff options
author | Mike Dalessio <mike@csa.net> | 2010-08-16 23:33:41 -0400 |
---|---|---|
committer | Mike Dalessio <mike@csa.net> | 2010-08-19 01:37:18 -0400 |
commit | 788f33fb59af40e8cb29a233a8d6be9941b52ea7 (patch) | |
tree | c01ff24842c2194a4b51ef9fce0cec3ba68401da /spec/arel | |
parent | 0403efa4c6ad926a61dd0d134d63d962238e2c4f (diff) | |
download | rails-788f33fb59af40e8cb29a233a8d6be9941b52ea7.tar.gz rails-788f33fb59af40e8cb29a233a8d6be9941b52ea7.tar.bz2 rails-788f33fb59af40e8cb29a233a8d6be9941b52ea7.zip |
TreeManager classes deep-copy their statements.
Diffstat (limited to 'spec/arel')
-rw-r--r-- | spec/arel/insert_manager_spec.rb | 11 | ||||
-rw-r--r-- | spec/arel/select_manager_spec.rb | 11 | ||||
-rw-r--r-- | spec/arel/update_manager_spec.rb | 12 |
3 files changed, 34 insertions, 0 deletions
diff --git a/spec/arel/insert_manager_spec.rb b/spec/arel/insert_manager_spec.rb index 14cb749b25..ed0725e79d 100644 --- a/spec/arel/insert_manager_spec.rb +++ b/spec/arel/insert_manager_spec.rb @@ -110,5 +110,16 @@ module Arel } end end + + describe "TreeManager" do + subject do + table = Table.new(:users) + Arel::InsertManager.new(Table.engine).tap do |manager| + manager.insert [[table[:id], nil]] + end + end + + it_should_behave_like "TreeManager" + end end end diff --git a/spec/arel/select_manager_spec.rb b/spec/arel/select_manager_spec.rb index 01d1b35004..3984bec3fd 100644 --- a/spec/arel/select_manager_spec.rb +++ b/spec/arel/select_manager_spec.rb @@ -166,5 +166,16 @@ module Arel manager.to_sql.should be_like 'SELECT "users"."id" FROM "users"' end end + + describe "TreeManager" do + subject do + table = Table.new :users + Arel::SelectManager.new(Table.engine).tap do |manager| + manager.from(table).project(table['id']) + end + end + + it_should_behave_like "TreeManager" + end end end diff --git a/spec/arel/update_manager_spec.rb b/spec/arel/update_manager_spec.rb index 8c4c4f93b8..4aeb15bb14 100644 --- a/spec/arel/update_manager_spec.rb +++ b/spec/arel/update_manager_spec.rb @@ -73,5 +73,17 @@ module Arel um.where(table[:id].eq(1)).should == um end end + + describe "TreeManager" do + subject do + table = Table.new :users + Arel::UpdateManager.new(Table.engine).tap do |manager| + manager.table table + manager.where table[:id].eq(1) + end + end + + it_should_behave_like "TreeManager" + end end end |