aboutsummaryrefslogtreecommitdiffstats
path: root/spec/visitors
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-09-29 14:18:18 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-09-29 14:18:18 -0700
commit7a625bf74e4e197746b857ae23b1a0fdfd9f3be7 (patch)
treeefc7b2ccc3fc55a79c4e6d14e8d8c8fb7d6a4044 /spec/visitors
parentc8f83d61a113ae3c01005d2ac02e4c17891d918c (diff)
downloadrails-7a625bf74e4e197746b857ae23b1a0fdfd9f3be7.tar.gz
rails-7a625bf74e4e197746b857ae23b1a0fdfd9f3be7.tar.bz2
rails-7a625bf74e4e197746b857ae23b1a0fdfd9f3be7.zip
fixing column escape for IN nodes. [resolves:5732]
Diffstat (limited to 'spec/visitors')
-rw-r--r--spec/visitors/to_sql_spec.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/spec/visitors/to_sql_spec.rb b/spec/visitors/to_sql_spec.rb
index c234a2d58e..1302d73e1c 100644
--- a/spec/visitors/to_sql_spec.rb
+++ b/spec/visitors/to_sql_spec.rb
@@ -94,6 +94,21 @@ module Arel
"users"."id" >= 1 AND "users"."id" < 3
}
end
+
+ it 'uses the same column for escaping values' do
+ visitor = Class.new(ToSql) do
+ attr_accessor :expected
+
+ def quote value, column = nil
+ raise unless column == expected
+ super
+ end
+ end
+ in_node = Nodes::In.new @attr, %w{ a b c }
+ visitor = visitor.new(Table.engine)
+ visitor.expected = @attr.column
+ lambda { visitor.accept(in_node) }.should_not raise_error
+ end
end
describe 'Equality' do