summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-03 10:18:14 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-03 10:18:14 +0000
commitd66ad8c8d6c73fb9fa715f78b15889ab5c3e876e (patch)
tree82836b85012684734d6edaa678c30e26be5297e7 /test
parentf4fc1d15d62aac4d0e8fa712d25a0ee648e87250 (diff)
downloadruby-d66ad8c8d6c73fb9fa715f78b15889ab5c3e876e.tar.gz
ruby-d66ad8c8d6c73fb9fa715f78b15889ab5c3e876e.tar.xz
ruby-d66ad8c8d6c73fb9fa715f78b15889ab5c3e876e.zip
* object.c (rb_f_integer): now Integer() takes optional base
argument. base will be ignored for non string values. suggested by Sam Carr at RubyFoo Lounge at London. * test/ruby/test_integer.rb (TestInteger#test_Integer): test updated. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_integer.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/ruby/test_integer.rb b/test/ruby/test_integer.rb
index 232a7fae3..b3dd11d55 100644
--- a/test/ruby/test_integer.rb
+++ b/test/ruby/test_integer.rb
@@ -71,6 +71,19 @@ class TestInteger < Test::Unit::TestCase
assert_equal(0377, Integer("0_3_7_7"))
}
assert_raise(ArgumentError, "[ruby-core:14139]") {Integer("0__3_7_7")}
+ assert_equal(1234, Integer(1234))
+ assert_equal(1, Integer(1.234))
+
+ # base argument
+ assert_equal(1234, Integer("1234", 10))
+ assert_equal(668, Integer("1234", 8))
+ assert_equal(4660, Integer("1234", 16))
+ assert_equal(49360, Integer("1234", 36))
+ # decimal, not octal
+ assert_equal(1234, Integer("01234", 10))
+ assert_raise(ArgumentError) { Integer("0x123", 10) }
+ assert_raise(ArgumentError) { Integer(1234, 10) }
+ assert_raise(ArgumentError) { Integer(12.34, 10) }
end
def test_int_p