[#21225] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

14 messages 2003/08/22
[#21227] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — nobu.nakada@... 2003/08/22

なかだです。

[#21228] Re: [ruby-cvs] ruby: * enum.c (inject_i): use rb_yield_values. — matz@... (Yukihiro Matsumoto) 2003/08/22

まつもと ゆきひろです

[#21281] 大量メモリ消費攻撃に対する対応 — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

16 messages 2003/08/29
[#21285] Re: 大量メモリ消費攻撃に対する対応 — matz@... (Yukihiro Matsumoto) 2003/08/29

まつもと ゆきひろです

[#21288] Re: 大量メモリ消費攻撃に対する対応 — Hidetoshi NAGAI <nagai@...> 2003/08/29

永井@知能.九工大です.

[#21306] Re: 大量メモリ消費攻撃に対する対応 — matz@... (Yukihiro Matsumoto) 2003/09/03

まつもと ゆきひろです

[ruby-dev:21097] Re: rubicon for ruby 1.8

From: Koji Arai <JCA02266@...>
Date: 2003-08-03 08:26:28 UTC
List: ruby-dev #21097
新井です。

In message "[ruby-dev:21092] rubicon for ruby 1.8"
  on 03 Aug 2003 15:25:22 +0900,
  Koji Arai <JCA02266@nifty.ne.jp> wrote:
> 新井です。
> 
> リリースも間近ですし、rubicon を試してみようと思ったのですが、
> 大量の warning はともかく、テストの失敗がかなり出ます。

再度、rubicon のパッチを作成しました。

まだ、
* TestIO が失敗します。
* TestKernel.rb の test_singleton_methods は自身がありません
  (1.8.0 の挙動にテストを合わせただけ)
* TestModule.rb の test_instance_methods も同様
* TestTime で、assert_not_equal() というのを使ったため、RubyUnit では
  失敗します。(TestUnit (の RubyUnit 互換ライブラリ)で使用可)
* TestAssignment.rb, TestBlockProcs.rb, TestLoopStuff.rb の
  多重代入まわりは自身がありません。
  (1.8.0 の挙動にテストを合わせただけ)

結果は、以下の通りです。

========================================================================
All Tests                     Test Results                        V0.3.5
========================================================================
                 Name   OK?   Tests  Asserts      Failures   Errors
            ------------------------------------------------------------
    Rubicon::TestCase             0        0                    
                   :
                   :
                   IO   FAIL     53     1237                   3
                   :
                   :
            TrueClass             6       17                    
========================================================================
         All 71 files   FAIL    917    30188          0        3
========================================================================

                              Error Report                              
========================================================================

TestIO:
-------
    TestIO#test_LSHIFT
    ....Bad file descriptor - _test/_10lines
    TestIO#test_clone
    ....Bad file descriptor - _test/_10lines
    TestIO#test_s_new
    ....Bad file descriptor

========================================================================


Index: builtin/ArrayBase.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/builtin/ArrayBase.rb,v
retrieving revision 1.9
diff -u -r1.9 ArrayBase.rb
--- builtin/ArrayBase.rb	16 Mar 2003 11:36:22 -0000	1.9
+++ builtin/ArrayBase.rb	3 Aug 2003 08:10:16 -0000
@@ -68,12 +68,24 @@
   def test_MINUS # '-'
     assert_equal(@cls[],  @cls[1] - @cls[1])
     assert_equal(@cls[1], @cls[1, 2, 3, 4, 5] - @cls[2, 3, 4, 5])
-    assert_equal(@cls[1], @cls[1, 2, 1, 3, 1, 4, 1, 5] - @cls[2, 3, 4, 5])
+    Version.less_than("1.8") do
+      assert_equal(@cls[1], @cls[1, 2, 1, 3, 1, 4, 1, 5] - @cls[2, 3, 4, 5])
+    end
+    Version.greater_or_equal("1.8") do
+      assert_equal(@cls[1,1,1,1],
+                   @cls[1, 2, 1, 3, 1, 4, 1, 5] - @cls[2, 3, 4, 5])
+    end
     a = @cls[]
     1000.times { a << 1 }
     assert_equal(1000, a.length)
-    assert_equal(@cls[1], a - @cls[2])
-    assert_equal(@cls[1],  @cls[ 1, 2, 1] - @cls[2])
+    Version.less_than("1.8") do
+      assert_equal(@cls[1], a - @cls[2])
+      assert_equal(@cls[1],  @cls[ 1, 2, 1] - @cls[2])
+    end
+    Version.greater_or_equal("1.8") do
+      assert_equal(@cls[1] * 1000, a - @cls[2])
+      assert_equal(@cls[1,1],  @cls[ 1, 2, 1] - @cls[2])
+    end
     assert_equal(@cls[1, 2, 3], @cls[1, 2, 3] - @cls[4, 5, 6])
   end
 
@@ -747,10 +759,13 @@
   def test_push
     a = @cls[1, 2, 3]
     assert_equal(@cls[1, 2, 3, 4, 5], a.push(4, 5))
-    Version.greater_or_equal("1.6.2") do
+    Version.less_than("1.6.2") do
+      assert_equal(@cls[1, 2, 3, 4, 5], a.push())
+    end
+    Version.in("1.6.2".."1.8") do
       assert_exception(ArgumentError, "a.push()") { a.push() }
     end
-    Version.less_than("1.6.2") do
+    Version.greater_or_equal("1.8") do
       assert_equal(@cls[1, 2, 3, 4, 5], a.push())
     end
     assert_equal(@cls[1, 2, 3, 4, 5, nil], a.push(nil))
@@ -804,7 +819,12 @@
     a = @cls[*%w( dog cat bee ant )]
     assert_equal(@cls[*%w(ant bee cat dog)], a.reverse!)
     assert_equal(@cls[*%w(ant bee cat dog)], a)
-    assert_nil(@cls[].reverse!)
+    Version.less_than("1.8") do
+      assert_nil(@cls[].reverse!)
+    end
+    Version.greater_or_equal("1.8") do
+      assert_equal(@cls[], @cls[].reverse!)
+    end
   end
 
   def test_reverse_each
Index: builtin/StringBase.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/builtin/StringBase.rb,v
retrieving revision 1.15
diff -u -r1.15 StringBase.rb
--- builtin/StringBase.rb	16 Mar 2003 11:36:22 -0000	1.15
+++ builtin/StringBase.rb	3 Aug 2003 08:10:40 -0000
@@ -167,7 +167,12 @@
   end
 
   def test_EQUAL # '=='
-    assert_equal(false, S("foo") == :foo)
+    Version.less_than("1.8") do
+      assert_equal(false, S("foo") == :foo)
+    end
+    Version.greater_or_equal("1.8") do
+      assert_equal(nil, S("foo") == :foo)
+    end
     assert(S("abcdef") == S("abcdef"))
 
     pre_1_7_1 do
Index: builtin/TestFile.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/builtin/TestFile.rb,v
retrieving revision 1.37
diff -u -r1.37 TestFile.rb
--- builtin/TestFile.rb	12 Feb 2003 03:48:20 -0000	1.37
+++ builtin/TestFile.rb	3 Aug 2003 08:11:45 -0000
@@ -485,10 +485,18 @@
 	[ Time.at(121314),        Time.now.to_i ]
       ].each { |aTime, mTime|
 	File.utime(aTime, mTime, "_file1", "_file2")
-	
+
 	for file in [ "_file1", "_file2" ]
-	  assert_equal(aTime, File.stat(file).atime) # does automatic conversion
-	  assert_equal(mTime, File.stat(file).mtime)
+          Version.less_than("1.8") do
+            # does automatic conversion
+            assert_equal(aTime, File.stat(file).atime)
+            assert_equal(mTime, File.stat(file).mtime)
+          end
+          Version.greater_or_equal("1.8") do
+            # does not automatic conversion
+            assert_equal(Time.at(aTime), File.stat(file).atime)
+            assert_equal(Time.at(mTime), File.stat(file).mtime)
+          end
 	end
       }
     ensure
Index: builtin/TestKernel.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/builtin/TestKernel.rb,v
retrieving revision 1.40
diff -u -r1.40 TestKernel.rb
--- builtin/TestKernel.rb	16 Mar 2003 11:36:22 -0000	1.40
+++ builtin/TestKernel.rb	3 Aug 2003 08:12:34 -0000
@@ -422,9 +422,15 @@
   end
 
   def test_singleton_methods
-    assert_equal(%w(singleton), MethodsTest.singleton_methods)
-    assert_equal(%w(singleton), PrivateMethods.singleton_methods)
-    
+    Version.less_than("1.8") do
+      assert_equal(%w(singleton), MethodsTest.singleton_methods)
+      assert_equal(%w(singleton), PrivateMethods.singleton_methods)
+    end
+    Version.greater_or_equal("1.8") do
+      assert_equal(%w(singleton), MethodsTest.singleton_methods(false))
+      assert_equal(%w(singleton), PrivateMethods.singleton_methods(true))
+    end
+
     mt = MethodsTest.new
     assert_equal([], mt.singleton_methods)
     eval "def mt.wombat() end"
Index: builtin/TestMath.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/builtin/TestMath.rb,v
retrieving revision 1.4
diff -u -r1.4 TestMath.rb
--- builtin/TestMath.rb	7 Feb 2003 06:51:08 -0000	1.4
+++ builtin/TestMath.rb	3 Aug 2003 08:12:54 -0000
@@ -115,9 +115,16 @@
     end
 
     # and some special cases
-    assert_equal(-1, Math.log(0).infinite?)
-    assert_equal(-1, Math.log10(0).infinite?)
-    assert_exception(ArgumentError) { Math.sqrt(-1) }
+    Version.less_than("1.8") do
+      assert_equal(-1, Math.log(0).infinite?)
+      assert_equal(-1, Math.log10(0).infinite?)
+      assert_exception(ArgumentError) { Math.sqrt(-1) }
+    end
+    Version.greater_or_equal("1.8") do
+      assert_exception(Errno::ERANGE) { Math.log(0) }
+      assert_exception(Errno::ERANGE) { Math.log10(0) }
+      assert_exception(Errno::EDOM) { Math.sqrt(-1) }
+    end
   end
 end
 
Index: builtin/TestModule.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/builtin/TestModule.rb,v
retrieving revision 1.13
diff -u -r1.13 TestModule.rb
--- builtin/TestModule.rb	21 May 2002 05:51:07 -0000	1.13
+++ builtin/TestModule.rb	3 Aug 2003 08:05:50 -0000
@@ -193,12 +193,19 @@
 
   def test_instance_methods
     assert_equal(["user" ], User.instance_methods)
-    assert_equal(["user", "mixin"], User.instance_methods(true))
+    assert_equal(["user", "mixin"].sort, User.instance_methods(true).sort)
     assert_equal(["mixin"], Mixin.instance_methods)
     assert_equal(["mixin"], Mixin.instance_methods(true))
-    assert_equal(["aClass"], AClass.instance_methods)
-    assert_equal(["aClass"], AClass.instance_methods(true) - 
-                             Object.instance_methods(true))
+    Version.less_than("1.8") do
+      assert_equal(["aClass"], AClass.instance_methods)
+      assert_equal(["aClass"], AClass.instance_methods(true) - 
+                               Object.instance_methods(true))
+    end
+    Version.greater_or_equal("1.8") do
+      assert_equal(["aClass", "aClass2"].sort, AClass.instance_methods.sort)
+      assert_equal(["aClass", "aClass2"].sort, AClass.instance_methods(true) - 
+                                               Object.instance_methods(true).sort)
+    end
   end
 
   def test_method_defined?
Index: builtin/TestProc.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/builtin/TestProc.rb,v
retrieving revision 1.7
diff -u -r1.7 TestProc.rb
--- builtin/TestProc.rb	5 Jan 2002 14:35:05 -0000	1.7
+++ builtin/TestProc.rb	3 Aug 2003 08:13:21 -0000
@@ -28,11 +28,16 @@
         [Proc.new { ||       },  -1] <<
         [Proc.new { |x|      },  -2]
     end
-    Version.greater_than("1.6.1") do
+    Version.in("1.6.2" ... "1.8") do
       tests <<
         [Proc.new { ||       },  0] <<
         [Proc.new { |x|      }, -1]
     end
+    Version.greater_or_equal("1.8") do
+      tests <<
+        [Proc.new { ||       },  0] <<
+        [Proc.new { |x|      },  1]
+    end
 
     tests.each do |proc, expected_arity|
       assert_equal(expected_arity, proc.arity)
Index: builtin/TestTime.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/builtin/TestTime.rb,v
retrieving revision 1.17
diff -u -r1.17 TestTime.rb
--- builtin/TestTime.rb	16 Mar 2003 11:36:22 -0000	1.17
+++ builtin/TestTime.rb	3 Aug 2003 08:13:52 -0000
@@ -407,7 +407,13 @@
   def test_s_at
     t = Time.now
     sec = t.to_i
-    assert_equal(0, Time.at(0))
+    Version.less_than("1.8") do
+      assert_equal(0, Time.at(0))
+    end
+    Version.greater_or_equal("1.8") do
+      assert_not_equal(0, Time.at(0))
+    end
+
     assert_equal(t, Time.at(t))
     assert((Time.at(sec,1000000).to_f - Time.at(sec).to_f) == 1.0)
   end
Index: language/TestAssignment.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/language/TestAssignment.rb,v
retrieving revision 1.4
diff -u -r1.4 TestAssignment.rb
--- language/TestAssignment.rb	5 Jan 2002 14:35:05 -0000	1.4
+++ language/TestAssignment.rb	3 Aug 2003 08:14:33 -0000
@@ -32,17 +32,32 @@
       a = *[[]];     assert_equal([], a)
       a = *[*[]];    assert_nil(a)
       a = *[*[1]];   assert_equal(1, a)
-      *a = nil;      assert_equal([], a)
+      Version.less_than("1.8") do
+        *a = nil;      assert_equal([], a)
+      end
+      Version.greater_or_equal("1.8") do
+        *a = nil;      assert_equal([nil], a)
+      end
     end
     a = *[*[1,2]]; assert_equal([1,2], a)
 
     *a = 1;        assert_equal([1], a)
-    *a = [];       assert_equal([], a)
-    *a = [1];      assert_equal([1], a)
-    *a = [nil];    assert_equal([nil], a)
-    *a = [[]];     assert_equal([[]], a)
-    *a = [*[]];    assert_equal([], a)
-    *a = [*[1]];   assert_equal([1], a)
+    Version.less_than("1.8") do
+      *a = [];       assert_equal([], a)
+      *a = [1];      assert_equal([1], a)
+      *a = [nil];    assert_equal([nil], a)
+      *a = [[]];     assert_equal([[]], a)
+      *a = [*[]];    assert_equal([], a)
+      *a = [*[1]];   assert_equal([1], a)
+    end
+    Version.greater_or_equal("1.8") do
+      *a = [];       assert_equal([[]], a)
+      *a = [1];      assert_equal([[1]], a)
+      *a = [nil];    assert_equal([[nil]], a)
+      *a = [[]];     assert_equal([[[]]], a)
+      *a = [*[]];    assert_equal([[]], a)
+      *a = [*[1]];   assert_equal([[1]], a)
+    end
     *a = [*[1,2]]; assert_equal([1,2], a)
 
     Version.less_than("1.7") do
@@ -50,11 +65,16 @@
       *a = *[nil];    assert_equal([nil], a)
       *a = *[[]];     assert_equal([[]], a)
     end
-    Version.greater_or_equal("1.7") do
+    Version.in("1.7".."1.8") do
       *a = *nil;      assert_equal([], a)
       *a = *[nil];    assert_equal([], a)
       *a = *[[]];     assert_equal([], a)
     end
+    Version.greater_or_equal("1.8") do
+      *a = *nil;      assert_equal([nil], a)
+      *a = *[nil];    assert_equal([nil], a)
+      *a = *[[]];     assert_equal([[]], a)
+    end
     *a = *1;        assert_equal([1], a)
     *a = *[];       assert_equal([], a)
     *a = *[1];      assert_equal([1], a)
@@ -131,9 +151,12 @@
     Version.less_than("1.7") do
       assert_equal([nil], a)
     end
-    Version.greater_or_equal("1.7") do
+    Version.in("1.7".."1.8") do
       assert_equal([], a)
     end
+    Version.greater_or_equal("1.8") do
+      assert_equal([nil], a)
+    end
   end
 
   def testConditionalAssignment
Index: language/TestBlocksProcs.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/language/TestBlocksProcs.rb,v
retrieving revision 1.6
diff -u -r1.6 TestBlocksProcs.rb
--- language/TestBlocksProcs.rb	28 Jan 2002 19:09:36 -0000	1.6
+++ language/TestBlocksProcs.rb	3 Aug 2003 08:15:32 -0000
@@ -60,27 +60,54 @@
     def o.f; yield *[*[]]; end;    o.f {|a| assert_nil(a)}
     def o.f; yield *[*[1]]; end;   o.f {|a| assert_equal(1, a)}
     def o.f; yield *[*[1,2]]; end; o.f {|a| assert_equal([1,2], a)}
-    
-    def o.f; yield nil; end;       o.f {|*a| assert_equal([], a)}
+
+    Version.less_than("1.8") do
+      def o.f; yield nil; end;       o.f {|*a| assert_equal([], a)}
+    end
+    Version.greater_or_equal("1.8") do
+      def o.f; yield nil; end;       o.f {|*a| assert_equal([nil], a)}
+    end
+
     def o.f; yield 1; end;         o.f {|*a| assert_equal([1], a)}
-    def o.f; yield []; end;        o.f {|*a| assert_equal([], a)}
-    def o.f; yield [1]; end;       o.f {|*a| assert_equal([1], a)}
-    def o.f; yield [nil]; end;     o.f {|*a| assert_equal([nil], a)}
-    def o.f; yield [[]]; end;      o.f {|*a| assert_equal([[]], a)}
-    def o.f; yield [*[]]; end;     o.f {|*a| assert_equal([], a)}
-    def o.f; yield [*[1]]; end;    o.f {|*a| assert_equal([1], a)}
+    Version.less_than("1.8") do
+      def o.f; yield []; end;        o.f {|*a| assert_equal([], a)}
+      def o.f; yield [1]; end;       o.f {|*a| assert_equal([1], a)}
+      def o.f; yield [nil]; end;     o.f {|*a| assert_equal([nil], a)}
+      def o.f; yield [[]]; end;      o.f {|*a| assert_equal([[]], a)}
+      def o.f; yield [*[]]; end;     o.f {|*a| assert_equal([], a)}
+      def o.f; yield [*[1]]; end;    o.f {|*a| assert_equal([1], a)}
+    end
+    Version.greater_or_equal("1.8") do
+      def o.f; yield []; end;        o.f {|*a| assert_equal([[]], a)}
+      def o.f; yield [1]; end;       o.f {|*a| assert_equal([[1]], a)}
+      def o.f; yield [nil]; end;     o.f {|*a| assert_equal([[nil]], a)}
+      def o.f; yield [[]]; end;      o.f {|*a| assert_equal([[[]]], a)}
+      def o.f; yield [*[]]; end;     o.f {|*a| assert_equal([[]], a)}
+      def o.f; yield [*[1]]; end;    o.f {|*a| assert_equal([[1]], a)}
+    end
     def o.f; yield [*[1,2]]; end;  o.f {|*a| assert_equal([1,2], a)}
     
-    def o.f; yield *nil; end;      o.f {|*a| assert_equal([], a)}
+    Version.less_than("1.8") do
+      def o.f; yield *nil; end;      o.f {|*a| assert_equal([], a)}
+    end
+    Version.greater_or_equal("1.8") do
+      def o.f; yield *nil; end;      o.f {|*a| assert_equal([nil], a)}
+    end
     def o.f; yield *1; end;        o.f {|*a| assert_equal([1], a)}
     def o.f; yield *[]; end;       o.f {|*a| assert_equal([], a)}
     def o.f; yield *[1]; end;      o.f {|*a| assert_equal([1], a)}
-    def o.f; yield *[nil]; end;    o.f {|*a| assert_equal([], a)}
-    def o.f; yield *[[]]; end;     o.f {|*a| assert_equal([], a)}
+    Version.less_than("1.8") do
+      def o.f; yield *[nil]; end;    o.f {|*a| assert_equal([], a)}
+      def o.f; yield *[[]]; end;     o.f {|*a| assert_equal([], a)}
+    end
+    Version.greater_or_equal("1.8") do
+      def o.f; yield *[nil]; end;    o.f {|*a| assert_equal([nil], a)}
+      def o.f; yield *[[]]; end;     o.f {|*a| assert_equal([[]], a)}
+    end
     def o.f; yield *[*[]]; end;    o.f {|*a| assert_equal([], a)}
     def o.f; yield *[*[1]]; end;   o.f {|*a| assert_equal([1], a)}
     def o.f; yield *[*[1,2]]; end; o.f {|*a| assert_equal([1,2], a)}
-    
+
     def o.f; yield nil; end;       o.f {|a,b,*c| assert([a,b,c] == [nil, nil, []])}
     def o.f; yield 1; end;         o.f {|a,b,*c| assert([a,b,c] == [1, nil, []])}
     def o.f; yield []; end;        o.f {|a,b,*c| assert([a,b,c] == [nil, nil, []])}
@@ -90,7 +117,7 @@
     def o.f; yield [*[]]; end;     o.f {|a,b,*c| assert([a,b,c] == [nil, nil, []])}
     def o.f; yield [*[1]]; end;    o.f {|a,b,*c| assert([a,b,c] == [1, nil, []])}
     def o.f; yield [*[1,2]]; end;  o.f {|a,b,*c| assert([a,b,c] == [1, 2, []])}
-    
+
     def o.f; yield *nil; end;      o.f {|a,b,*c| assert([a,b,c] == [nil, nil, []])}
     def o.f; yield *1; end;        o.f {|a,b,*c| assert([a,b,c] == [1, nil, []])}
     def o.f; yield *[]; end;       o.f {|a,b,*c| assert([a,b,c] == [nil, nil, []])}
Index: language/TestLoopStuff.rb
===================================================================
RCS file: /usr/local/cvsup/ruby/rubicon/language/TestLoopStuff.rb,v
retrieving revision 1.6
diff -u -r1.6 TestLoopStuff.rb
--- language/TestLoopStuff.rb	5 Jan 2002 14:35:05 -0000	1.6
+++ language/TestLoopStuff.rb	3 Aug 2003 08:02:49 -0000
@@ -268,23 +268,39 @@
     
     IterTest.new([[0]]).each0 { |x| x = x }
     assert_equal([0], x)
-    IterTest.new([[1]]).each1 { |x| x = x }
-    assert_equal(1, x)
-    IterTest.new([[2]]).each2 { |x| x = x }
-    assert_equal([2], x)
-    IterTest.new([[3]]).each3 { |x| x = x }
-    assert_equal(3, x)
+    Version.less_than("1.8") do
+      IterTest.new([[1]]).each1 { |x| x = x }
+      assert_equal(1, x)
+      IterTest.new([[2]]).each2 { |x| x = x }
+      assert_equal([2], x)
+      IterTest.new([[3]]).each3 { |x| x = x }
+      assert_equal(3, x)
+      IterTest.new([[5]]).each5 { |x| x = x }
+      assert_equal(5, x)
+      IterTest.new([[6]]).each6 { |x| x = x }
+      assert_equal([6], x)
+      IterTest.new([[7]]).each7 { |x| x = x }
+      assert_equal(7, x)
+    end
+    Version.greater_or_equal("1.8") do
+      IterTest.new([[1]]).each1 { |x| x = x }
+      assert_equal([1], x)
+      IterTest.new([[2]]).each2 { |x| x = x }
+      assert_equal([[2]], x)
+      IterTest.new([[3]]).each3 { |x| x = x }
+      assert_equal(3, x)
+      IterTest.new([[5]]).each5 { |x| x = x }
+      assert_equal([5], x)
+      IterTest.new([[6]]).each6 { |x| x = x }
+      assert_equal([[6]], x)
+    end
     IterTest.new([[4]]).each4 { |x| x = x }
     assert_equal([4], x)
-    IterTest.new([[5]]).each5 { |x| x = x }
-    assert_equal(5, x)
-    IterTest.new([[6]]).each6 { |x| x = x }
-    assert_equal([6], x)
     IterTest.new([[7]]).each7 { |x| x = x }
     assert_equal(7, x)
     IterTest.new([[8]]).each8 { |x| x = x }
     assert_equal([8], x)
-    
+
     IterTest.new([[0,0]]).each0 { |x| x = x }
     assert_equal([0, 0], x)
     IterTest.new([[8,8]]).each8 { |x| x = x }

--
新井康司 (Koji Arai)

In This Thread

Prev Next