aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-05-22 13:57:53 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-05-22 13:57:53 -0300
commit71248fc89efe0d73f8dd41bb834917ab469746dd (patch)
treeb3813c8f1ebbc7c987d1754f635f053b672499cf /activerecord/test
parent39473053fc557cabb375346c7040636035baeab9 (diff)
parentecf4ad7cca206e2cf99ca16e57e17648e726877a (diff)
downloadrails-71248fc89efe0d73f8dd41bb834917ab469746dd.tar.gz
rails-71248fc89efe0d73f8dd41bb834917ab469746dd.tar.bz2
rails-71248fc89efe0d73f8dd41bb834917ab469746dd.zip
Merge pull request #15248 from sgrif/sg-additional-type-map-args
Allow additional arguments to be used during type map lookups
Diffstat (limited to 'activerecord/test')
-rw-r--r--activerecord/test/cases/connection_adapters/type/type_map_test.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/activerecord/test/cases/connection_adapters/type/type_map_test.rb b/activerecord/test/cases/connection_adapters/type/type_map_test.rb
index 4b4d9f6b0f..3abd7a276e 100644
--- a/activerecord/test/cases/connection_adapters/type/type_map_test.rb
+++ b/activerecord/test/cases/connection_adapters/type/type_map_test.rb
@@ -88,6 +88,23 @@ module ActiveRecord
assert_equal mapping.lookup('varchar'), binary
end
+ def test_additional_lookup_args
+ mapping = TypeMap.new
+
+ mapping.register_type(/varchar/i) do |type, limit|
+ if limit > 255
+ 'text'
+ else
+ 'string'
+ end
+ end
+ mapping.alias_type(/string/i, 'varchar')
+
+ assert_equal mapping.lookup('varchar', 200), 'string'
+ assert_equal mapping.lookup('varchar', 400), 'text'
+ assert_equal mapping.lookup('string', 400), 'text'
+ end
+
def test_requires_value_or_block
mapping = TypeMap.new