From 41bd94b7ef0db484268b8c81de528aedad5ae08d Mon Sep 17 00:00:00 2001 From: awilliams <pwnfactory@gmail.com> Date: Wed, 26 Jun 2013 14:47:50 +0200 Subject: Unifies mysql and mysql2 casting of booleans Using the mysql2 adapter, boolean values were sometimes being incorrectly cast to 't' or 'f'. This changes the cast to match the mysql adapter behavior, ie 1 and 0. --- .../test/cases/adapters/mysql2/quoting_test.rb | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 activerecord/test/cases/adapters/mysql2/quoting_test.rb (limited to 'activerecord/test') diff --git a/activerecord/test/cases/adapters/mysql2/quoting_test.rb b/activerecord/test/cases/adapters/mysql2/quoting_test.rb new file mode 100644 index 0000000000..90157b088b --- /dev/null +++ b/activerecord/test/cases/adapters/mysql2/quoting_test.rb @@ -0,0 +1,25 @@ +require "cases/helper" + +module ActiveRecord + module ConnectionAdapters + class Mysql2Adapter + class QuotingTest < ActiveRecord::TestCase + def setup + @conn = ActiveRecord::Base.connection + end + + def test_type_cast_true + c = Column.new(nil, 1, 'boolean') + assert_equal 1, @conn.type_cast(true, nil) + assert_equal 1, @conn.type_cast(true, c) + end + + def test_type_cast_false + c = Column.new(nil, 1, 'boolean') + assert_equal 0, @conn.type_cast(false, nil) + assert_equal 0, @conn.type_cast(false, c) + end + end + end + end +end -- cgit v1.2.3