aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters/mysql2/case_sensitivity_test.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2016-02-21 11:28:11 +0900
committerRyuta Kamizono <kamipo@gmail.com>2016-02-22 10:03:03 +0900
commitb8f86ae29fde93b5f1e3ab75e57e4acb48a12b78 (patch)
treea7c253fa76f6b7cdb88c5b28244d6ebd28dc8612 /activerecord/test/cases/adapters/mysql2/case_sensitivity_test.rb
parentfa344194a8063bda06678868e0c2327b418c75cf (diff)
downloadrails-b8f86ae29fde93b5f1e3ab75e57e4acb48a12b78.tar.gz
rails-b8f86ae29fde93b5f1e3ab75e57e4acb48a12b78.tar.bz2
rails-b8f86ae29fde93b5f1e3ab75e57e4acb48a12b78.zip
The BINARY Operator is only needed for string columns
Follow up to #13040.
Diffstat (limited to 'activerecord/test/cases/adapters/mysql2/case_sensitivity_test.rb')
-rw-r--r--activerecord/test/cases/adapters/mysql2/case_sensitivity_test.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/activerecord/test/cases/adapters/mysql2/case_sensitivity_test.rb b/activerecord/test/cases/adapters/mysql2/case_sensitivity_test.rb
index 963116f08a..9cb05119a2 100644
--- a/activerecord/test/cases/adapters/mysql2/case_sensitivity_test.rb
+++ b/activerecord/test/cases/adapters/mysql2/case_sensitivity_test.rb
@@ -51,4 +51,13 @@ class Mysql2CaseSensitivityTest < ActiveRecord::Mysql2TestCase
cs_uniqueness_query = queries.detect { |q| q.match(/string_cs_column/) }
assert_no_match(/binary/i, cs_uniqueness_query)
end
+
+ def test_case_sensitive_comparison_for_binary_column
+ CollationTest.validates_uniqueness_of(:binary_column, case_sensitive: true)
+ CollationTest.create!(binary_column: 'A')
+ invalid = CollationTest.new(binary_column: 'A')
+ queries = assert_sql { invalid.save }
+ bin_uniqueness_query = queries.detect { |q| q.match(/binary_column/) }
+ assert_no_match(/\bBINARY\b/, bin_uniqueness_query)
+ end
end