aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_table.rb9
-rw-r--r--test/visitors/test_dot.rb6
-rw-r--r--test/visitors/test_oracle.rb16
-rw-r--r--test/visitors/test_oracle12.rb2
4 files changed, 23 insertions, 10 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_dot.rb b/test/visitors/test_dot.rb
index fa1c69e10d..179a2c297c 100644
--- a/test/visitors/test_dot.rb
+++ b/test/visitors/test_dot.rb
@@ -71,6 +71,12 @@ module Arel
@visitor.accept binary, Collectors::PlainString.new
end
end
+
+ def test_Arel_Nodes_BindParam
+ node = Arel::Nodes::BindParam.new
+ collector = Collectors::PlainString.new
+ assert_match '[label="<f0>Arel::Nodes::BindParam"]', @visitor.accept(node, collector).value
+ end
end
end
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
diff --git a/test/visitors/test_oracle12.rb b/test/visitors/test_oracle12.rb
index 5dac2994cf..43235fd72c 100644
--- a/test/visitors/test_oracle12.rb
+++ b/test/visitors/test_oracle12.rb
@@ -35,7 +35,7 @@ module Arel
stmt.limit = Nodes::Limit.new(10)
stmt.lock = Nodes::Lock.new(Arel.sql('FOR UPDATE'))
assert_raises ArgumentError do
- sql = compile(stmt)
+ compile(stmt)
end
end