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 +++++++++++++++ spec/connections/mysql_connection.rb | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'spec') 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 diff --git a/spec/connections/mysql_connection.rb b/spec/connections/mysql_connection.rb index 6e2950f7dc..bcba2b3843 100644 --- a/spec/connections/mysql_connection.rb +++ b/spec/connections/mysql_connection.rb @@ -7,7 +7,7 @@ ActiveRecord::Base.logger = Logger.new("debug.log") ActiveRecord::Base.configurations = { 'unit' => { :adapter => 'mysql', - :username => 'rails', + :username => 'root', :encoding => 'utf8', :database => 'arel_unit', } -- cgit v1.2.3