aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters
diff options
context:
space:
mode:
authorawilliams <pwnfactory@gmail.com>2013-06-26 14:47:50 +0200
committerawilliams <pwnfactory@gmail.com>2013-07-16 12:14:09 +0200
commit41bd94b7ef0db484268b8c81de528aedad5ae08d (patch)
tree0950817d31ee121bd6ca1eb019a0b1a4650d1593 /activerecord/test/cases/adapters
parent754a373e301d2df0b12a11083405252722bc8366 (diff)
downloadrails-41bd94b7ef0db484268b8c81de528aedad5ae08d.tar.gz
rails-41bd94b7ef0db484268b8c81de528aedad5ae08d.tar.bz2
rails-41bd94b7ef0db484268b8c81de528aedad5ae08d.zip
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.
Diffstat (limited to 'activerecord/test/cases/adapters')
-rw-r--r--activerecord/test/cases/adapters/mysql2/quoting_test.rb25
1 files changed, 25 insertions, 0 deletions
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