aboutsummaryrefslogtreecommitdiffstats
path: root/test/visitors
diff options
context:
space:
mode:
Diffstat (limited to 'test/visitors')
-rw-r--r--test/visitors/test_bind_visitor.rb61
-rw-r--r--test/visitors/test_dot.rb2
-rw-r--r--test/visitors/test_oracle.rb8
-rw-r--r--test/visitors/test_oracle12.rb4
-rw-r--r--test/visitors/test_postgres.rb4
-rw-r--r--test/visitors/test_to_sql.rb4
6 files changed, 11 insertions, 72 deletions
diff --git a/test/visitors/test_bind_visitor.rb b/test/visitors/test_bind_visitor.rb
deleted file mode 100644
index 3e0578a6a1..0000000000
--- a/test/visitors/test_bind_visitor.rb
+++ /dev/null
@@ -1,61 +0,0 @@
-# frozen_string_literal: true
-require 'helper'
-require 'arel/visitors/bind_visitor'
-require 'support/fake_record'
-
-module Arel
- module Visitors
- class TestBindVisitor < Arel::Test
- attr_reader :collector
-
- def setup
- @collector = Collectors::SQLString.new
- super
- end
-
- ##
- # Tests visit_Arel_Nodes_Assignment correctly
- # substitutes binds with values from block
- def test_assignment_binds_are_substituted
- table = Table.new(:users)
- um = Arel::UpdateManager.new
- bp = Nodes::BindParam.new
- um.set [[table[:name], bp]]
- visitor = Class.new(Arel::Visitors::ToSql) {
- include Arel::Visitors::BindVisitor
- }.new Table.engine.connection
-
- assignment = um.ast.values[0]
- actual = visitor.accept(assignment, collector) {
- "replace"
- }
- assert actual
- value = actual.value
- assert_like "\"name\" = replace", value
- end
-
- def test_visitor_yields_on_binds
- visitor = Class.new(Arel::Visitors::ToSql) {
- include Arel::Visitors::BindVisitor
- }.new nil
-
- bp = Nodes::BindParam.new
- called = false
- visitor.accept(bp, collector) { called = true }
- assert called
- end
-
- def test_visitor_only_yields_on_binds
- visitor = Class.new(Arel::Visitors::ToSql) {
- include Arel::Visitors::BindVisitor
- }.new(nil)
-
- bp = Arel.sql 'omg'
- called = false
-
- visitor.accept(bp, collector) { called = true }
- refute called
- end
- end
- end
-end
diff --git a/test/visitors/test_dot.rb b/test/visitors/test_dot.rb
index 1d27d1a5cb..8067ff5b49 100644
--- a/test/visitors/test_dot.rb
+++ b/test/visitors/test_dot.rb
@@ -74,7 +74,7 @@ module Arel
end
def test_Arel_Nodes_BindParam
- node = Arel::Nodes::BindParam.new
+ node = Arel::Nodes::BindParam.new(nil)
collector = Collectors::PlainString.new
assert_match '[label="<f0>Arel::Nodes::BindParam"]', @visitor.accept(node, collector).value
end
diff --git a/test/visitors/test_oracle.rb b/test/visitors/test_oracle.rb
index b1921f0cbc..cdadec8b15 100644
--- a/test/visitors/test_oracle.rb
+++ b/test/visitors/test_oracle.rb
@@ -127,8 +127,8 @@ module Arel
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)
+ stmt.limit = Nodes::Limit.new(Nodes::BindParam.new(nil))
+ stmt.offset = Nodes::Offset.new(Nodes::BindParam.new(nil))
sql = compile stmt
sql.must_be_like %{
SELECT * FROM (
@@ -184,8 +184,8 @@ module Arel
describe "Nodes::BindParam" do
it "increments each bind param" do
- query = @table[:name].eq(Arel::Nodes::BindParam.new)
- .and(@table[:id].eq(Arel::Nodes::BindParam.new))
+ query = @table[:name].eq(Arel::Nodes::BindParam.new(nil))
+ .and(@table[:id].eq(Arel::Nodes::BindParam.new(nil)))
compile(query).must_be_like %{
"users"."name" = :a1 AND "users"."id" = :a2
}
diff --git a/test/visitors/test_oracle12.rb b/test/visitors/test_oracle12.rb
index c908a51d4f..a6bbfe3077 100644
--- a/test/visitors/test_oracle12.rb
+++ b/test/visitors/test_oracle12.rb
@@ -48,8 +48,8 @@ module Arel
describe "Nodes::BindParam" do
it "increments each bind param" do
- query = @table[:name].eq(Arel::Nodes::BindParam.new)
- .and(@table[:id].eq(Arel::Nodes::BindParam.new))
+ query = @table[:name].eq(Arel::Nodes::BindParam.new(nil))
+ .and(@table[:id].eq(Arel::Nodes::BindParam.new(nil)))
compile(query).must_be_like %{
"users"."name" = :a1 AND "users"."id" = :a2
}
diff --git a/test/visitors/test_postgres.rb b/test/visitors/test_postgres.rb
index 26cc721871..3b4fdc0427 100644
--- a/test/visitors/test_postgres.rb
+++ b/test/visitors/test_postgres.rb
@@ -176,8 +176,8 @@ module Arel
describe "Nodes::BindParam" do
it "increments each bind param" do
- query = @table[:name].eq(Arel::Nodes::BindParam.new)
- .and(@table[:id].eq(Arel::Nodes::BindParam.new))
+ query = @table[:name].eq(Arel::Nodes::BindParam.new(nil))
+ .and(@table[:id].eq(Arel::Nodes::BindParam.new(nil)))
compile(query).must_be_like %{
"users"."name" = $1 AND "users"."id" = $2
}
diff --git a/test/visitors/test_to_sql.rb b/test/visitors/test_to_sql.rb
index 31279b0ae2..445d9c476c 100644
--- a/test/visitors/test_to_sql.rb
+++ b/test/visitors/test_to_sql.rb
@@ -17,13 +17,13 @@ module Arel
end
it 'works with BindParams' do
- node = Nodes::BindParam.new
+ node = Nodes::BindParam.new(nil)
sql = compile node
sql.must_be_like '?'
end
it 'does not quote BindParams used as part of a Values' do
- bp = Nodes::BindParam.new
+ bp = Nodes::BindParam.new(nil)
values = Nodes::Values.new([bp])
sql = compile values
sql.must_be_like 'VALUES (?)'