aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/type/unsigned_integer_test.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2014-11-27 10:06:49 +0900
committerRyuta Kamizono <kamipo@gmail.com>2014-12-12 00:35:48 +0900
commitb61a93b44e11046cc28605a8b4d2d17fe89927fd (patch)
tree7d1637c5fecfdca42f2edd32d1aa154f5aa8b04b /activerecord/test/cases/type/unsigned_integer_test.rb
parent6961afefd2f163f30b9ae3aacb74b290287f9a80 (diff)
downloadrails-b61a93b44e11046cc28605a8b4d2d17fe89927fd.tar.gz
rails-b61a93b44e11046cc28605a8b4d2d17fe89927fd.tar.bz2
rails-b61a93b44e11046cc28605a8b4d2d17fe89927fd.zip
Fix undesirable RangeError by Type::Integer. Add Type::UnsignedInteger.
Diffstat (limited to 'activerecord/test/cases/type/unsigned_integer_test.rb')
-rw-r--r--activerecord/test/cases/type/unsigned_integer_test.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/activerecord/test/cases/type/unsigned_integer_test.rb b/activerecord/test/cases/type/unsigned_integer_test.rb
new file mode 100644
index 0000000000..90a66b2a26
--- /dev/null
+++ b/activerecord/test/cases/type/unsigned_integer_test.rb
@@ -0,0 +1,18 @@
+require "cases/helper"
+require "models/company"
+
+module ActiveRecord
+ module Type
+ class UnsignedIntegerTest < ActiveRecord::TestCase
+ test "unsigned int max value is in range" do
+ assert_equal(4294967295, UnsignedInteger.new.type_cast_from_user("4294967295"))
+ end
+
+ test "minus value is out of range" do
+ assert_raises(::RangeError) do
+ UnsignedInteger.new.type_cast_from_user("-1")
+ end
+ end
+ end
+ end
+end