From 724b48620c5cf21920717d66eea6e7cd4148b535 Mon Sep 17 00:00:00 2001 From: Lee Bankewitz Date: Mon, 10 Aug 2009 14:51:54 -0400 Subject: Bug fix: Don't use #delegate to declare delegations when intentionally delegating to nil This accounts for a behavior change after Rails 2.3 --- spec/arel/engines/sql/unit/predicates/equality_spec.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'spec/arel') diff --git a/spec/arel/engines/sql/unit/predicates/equality_spec.rb b/spec/arel/engines/sql/unit/predicates/equality_spec.rb index 688a6a20be..e874d07bf3 100644 --- a/spec/arel/engines/sql/unit/predicates/equality_spec.rb +++ b/spec/arel/engines/sql/unit/predicates/equality_spec.rb @@ -41,6 +41,21 @@ module Arel end end end + + describe "when relating to a nil Value" do + it "manufactures an IS NULL predicate" do + value = nil.bind(@relation1) + sql = Equality.new(@attribute1, value).to_sql + + adapter_is :mysql do + sql.should be_like(%Q{`users`.`id` IS NULL}) + end + + adapter_is_not :mysql do + sql.should be_like(%Q{"users"."id" IS NULL}) + end + end + end end end end -- cgit v1.2.3