diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test_table.rb | 9 | ||||
-rw-r--r-- | test/visitors/test_oracle.rb | 16 |
2 files changed, 16 insertions, 9 deletions
diff --git a/test/test_table.rb b/test/test_table.rb index e8eaf901cc..168fde370d 100644 --- a/test/test_table.rb +++ b/test/test_table.rb @@ -110,10 +110,7 @@ module Arel describe 'alias' do it 'should create a node that proxies to a table' do - @relation.aliases.must_equal [] - node = @relation.alias - @relation.aliases.must_equal [node] node.name.must_equal 'users_2' node[:id].relation.must_equal node end @@ -191,10 +188,8 @@ module Arel describe 'equality' do it 'is equal with equal ivars' do relation1 = Table.new(:users) - relation1.aliases = %w[a b c] relation1.table_alias = 'zomg' relation2 = Table.new(:users) - relation2.aliases = %w[a b c] relation2.table_alias = 'zomg' array = [relation1, relation2] assert_equal 1, array.uniq.size @@ -202,11 +197,9 @@ module Arel it 'is not equal with different ivars' do relation1 = Table.new(:users) - relation1.aliases = %w[a b c] relation1.table_alias = 'zomg' relation2 = Table.new(:users) - relation2.aliases = %w[x y z] - relation2.table_alias = 'zomg' + relation2.table_alias = 'zomg2' array = [relation1, relation2] assert_equal 2, array.uniq.size end diff --git a/test/visitors/test_oracle.rb b/test/visitors/test_oracle.rb index e9ed9d76b3..4c22be5cbb 100644 --- a/test/visitors/test_oracle.rb +++ b/test/visitors/test_oracle.rb @@ -124,6 +124,21 @@ module Arel } end + it 'creates a subquery when there is limit and offset with BindParams' do + stmt = Nodes::SelectStatement.new + stmt.limit = Nodes::Limit.new(Nodes::BindParam.new) + stmt.offset = Nodes::Offset.new(Nodes::BindParam.new) + sql = compile stmt + sql.must_be_like %{ + SELECT * FROM ( + SELECT raw_sql_.*, rownum raw_rnum_ + FROM (SELECT ) raw_sql_ + WHERE rownum <= (:a1 + :a2) + ) + WHERE raw_rnum_ > :a1 + } + end + it 'is idempotent with different subquery' do stmt = Nodes::SelectStatement.new stmt.limit = Nodes::Limit.new(10) @@ -148,7 +163,6 @@ module Arel } end end - end it 'modified except to be minus' do |