diff options
author | Iain Beeston <iain.beeston@gmail.com> | 2016-10-14 17:21:11 +0100 |
---|---|---|
committer | Iain Beeston <iain.beeston@gmail.com> | 2016-10-15 07:33:22 +0100 |
commit | 894c033843fe93f50bfe47c98a77bb3183988d09 (patch) | |
tree | 73f33f6ffe8d55b5cbe3ea538ce349b075b2c3fb /activemodel/test/cases/type/boolean_test.rb | |
parent | 159b774887cfb3d5c862b2b48d24d75b658e47af (diff) | |
download | rails-894c033843fe93f50bfe47c98a77bb3183988d09.tar.gz rails-894c033843fe93f50bfe47c98a77bb3183988d09.tar.bz2 rails-894c033843fe93f50bfe47c98a77bb3183988d09.zip |
Refactored ActiveModel::Type tests into their own files
Diffstat (limited to 'activemodel/test/cases/type/boolean_test.rb')
-rw-r--r-- | activemodel/test/cases/type/boolean_test.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/activemodel/test/cases/type/boolean_test.rb b/activemodel/test/cases/type/boolean_test.rb new file mode 100644 index 0000000000..92e5aebfb7 --- /dev/null +++ b/activemodel/test/cases/type/boolean_test.rb @@ -0,0 +1,39 @@ +require "cases/helper" +require "active_model/type" + +module ActiveModel + module Type + class BooleanTest < ActiveModel::TestCase + def test_type_cast_boolean + type = Type::Boolean.new + assert type.cast("").nil? + assert type.cast(nil).nil? + + assert type.cast(true) + assert type.cast(1) + assert type.cast("1") + assert type.cast("t") + assert type.cast("T") + assert type.cast("true") + assert type.cast("TRUE") + assert type.cast("on") + assert type.cast("ON") + assert type.cast(" ") + assert type.cast("\u3000\r\n") + assert type.cast("\u0000") + assert type.cast("SOMETHING RANDOM") + + # explicitly check for false vs nil + assert_equal false, type.cast(false) + assert_equal false, type.cast(0) + assert_equal false, type.cast("0") + assert_equal false, type.cast("f") + assert_equal false, type.cast("F") + assert_equal false, type.cast("false") + assert_equal false, type.cast("FALSE") + assert_equal false, type.cast("off") + assert_equal false, type.cast("OFF") + end + end + end +end |