diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-05-22 13:57:53 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-05-22 13:57:53 -0300 |
commit | 71248fc89efe0d73f8dd41bb834917ab469746dd (patch) | |
tree | b3813c8f1ebbc7c987d1754f635f053b672499cf /activerecord/test/cases | |
parent | 39473053fc557cabb375346c7040636035baeab9 (diff) | |
parent | ecf4ad7cca206e2cf99ca16e57e17648e726877a (diff) | |
download | rails-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/cases')
-rw-r--r-- | activerecord/test/cases/connection_adapters/type/type_map_test.rb | 17 |
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 |