ruby-changes:4179
From: ko1@a...
Date: Sun, 2 Mar 2008 01:17:15 +0900 (JST)
Subject: [ruby-changes:4179] akr - Ruby:r15669 (trunk): add tests.
akr 2008-03-02 01:16:46 +0900 (Sun, 02 Mar 2008)
New Revision: 15669
Modified files:
trunk/test/ruby/test_literal.rb
Log:
add tests.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_literal.rb?r1=15669&r2=15668&diff_format=u
Index: test/ruby/test_literal.rb
===================================================================
--- test/ruby/test_literal.rb (revision 15668)
+++ test/ruby/test_literal.rb (revision 15669)
@@ -184,4 +184,58 @@
assert_equal __LINE__, __LINE__
end
+ def test_integer
+ head = ['', '0x', '0o', '0b', '0d', '-', '+']
+ chars = ['0', '1', '_', '9', 'f']
+ head.each {|h|
+ 4.times {|len|
+ a = [h]
+ len.times { a = a.product(chars).map {|x| x.join('') } }
+ a.each {|s|
+ next if s.empty?
+ begin
+ r1 = Integer(s)
+ rescue ArgumentError
+ r1 = :err
+ end
+ begin
+ r2 = eval(s)
+ rescue NameError, SyntaxError
+ r2 = :err
+ end
+ assert_equal(r1, r2, "Integer(#{s.inspect}) != eval(#{s.inspect})")
+ }
+ }
+ }
+ end
+
+ def test_float
+ head = ['', '-', '+']
+ chars = ['0', '1', '_', '9', 'f', '.']
+ head.each {|h|
+ 6.times {|len|
+ a = [h]
+ len.times { a = a.product(chars).map {|x| x.join('') } }
+ a.each {|s|
+ next if s.empty?
+ next if /\.\z/ =~ s
+ next if /\A[-+]?\./ =~ s
+ next if /\A[-+]?0/ =~ s
+ begin
+ r1 = Float(s)
+ rescue ArgumentError
+ r1 = :err
+ end
+ begin
+ r2 = eval(s)
+ rescue NameError, SyntaxError
+ r2 = :err
+ end
+ r2 = :err if Range === r2
+ assert_equal(r1, r2, "Float(#{s.inspect}) != eval(#{s.inspect})")
+ }
+ }
+ }
+ end
+
end
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/