[前][次][番号順一覧][スレッド一覧]

ruby-changes:12977

From: nobu <ko1@a...>
Date: Mon, 31 Aug 2009 10:41:52 +0900 (JST)
Subject: [ruby-changes:12977] Ruby:r24719 (trunk): * test/ruby/test_argf.rb (assert_src_expected): refactored.

nobu	2009-08-31 10:41:35 +0900 (Mon, 31 Aug 2009)

  New Revision: 24719

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24719

  Log:
    * test/ruby/test_argf.rb (assert_src_expected): refactored.

  Modified files:
    trunk/test/ruby/test_argf.rb
    trunk/version.h

Index: version.h
===================================================================
--- version.h	(revision 24718)
+++ version.h	(revision 24719)
@@ -1,5 +1,5 @@
 #define RUBY_VERSION "1.9.2"
-#define RUBY_RELEASE_DATE "2009-08-30"
+#define RUBY_RELEASE_DATE "2009-08-31"
 #define RUBY_PATCHLEVEL -1
 #define RUBY_BRANCH_NAME "trunk"
 
@@ -8,7 +8,7 @@
 #define RUBY_VERSION_TEENY 1
 #define RUBY_RELEASE_YEAR 2009
 #define RUBY_RELEASE_MONTH 8
-#define RUBY_RELEASE_DAY 30
+#define RUBY_RELEASE_DAY 31
 
 #include "ruby/version.h"
 
Index: test/ruby/test_argf.rb
===================================================================
--- test/ruby/test_argf.rb	(revision 24718)
+++ test/ruby/test_argf.rb	(revision 24719)
@@ -54,8 +54,21 @@
     /cygwin|mswin|mingw|bccwin/ =~ RUBY_PLATFORM
   end
 
+  def assert_src_expected(line, src, args = nil)
+    args ||= [@t1.path, @t2.path, @t3.path]
+    expected = src.split(/^/)
+    ruby('-e', src, *args) do |f|
+      expected.each_with_index do |e, i|
+        /#=> *(.*)/ =~ e or next
+        a = f.gets
+        assert_not_nil(a, "[ruby-dev:34445]: remained")
+        assert_equal($1, a.chomp, "[ruby-dev:34445]: line #{line+i}")
+      end
+    end
+  end
+
   def test_argf
-    src = <<-SRC
+    assert_src_expected(__LINE__+1, <<-'SRC')
       a = ARGF
       b = a.dup
       p [a.gets.chomp, a.lineno, b.gets.chomp, b.lineno] #=> ["1", 1, "1", 1]
@@ -72,20 +85,10 @@
       p [a.gets.chomp, a.lineno, b.gets.chomp, b.lineno] #=> ["5", 5, "5", 8]
       p [a.gets.chomp, a.lineno, b.gets.chomp, b.lineno] #=> ["6", 6, "6", 9]
     SRC
-    expected = src.scan(/\#=> *(.+)/).flatten
-    ruby('-e', src, @t1.path, @t2.path, @t3.path) do |f|
-      f.each_with_index do |a, i|
-        assert_equal(expected.shift, a.chomp, "[ruby-dev:34445]: line #{i}")
-      end
-
-      assert_empty(expected, "[ruby-dev:34445]: remained")
-
-      # is this test OK? [ruby-dev:34445]
-    end
   end
 
   def test_lineno
-    src = <<-SRC
+    assert_src_expected(__LINE__+1, <<-'SRC')
       a = ARGF
       a.gets; p $.  #=> 1
       a.gets; p $.  #=> 2
@@ -102,14 +105,10 @@
       a.gets; p $.  #=> 2001
       a.gets; p $.  #=> 2001
     SRC
-    expected = src.scan(/\#=> *(.+)/).join(",")
-    ruby('-e', src, @t1.path, @t2.path, @t3.path) do |f|
-      assert_equal(expected, f.read.chomp.gsub("\n", ","))
-    end
   end
 
   def test_lineno2
-    src = <<-SRC
+    assert_src_expected(__LINE__+1, <<-'SRC')
       a = ARGF.dup
       a.gets; p $.  #=> 1
       a.gets; p $.  #=> 2
@@ -125,10 +124,6 @@
       a.gets; p $.  #=> 2000
       a.gets; p $.  #=> 2000
     SRC
-    expected = src.scan(/\#=> *(.+)/).join(",")
-    ruby('-e', src, @t1.path, @t2.path, @t3.path) do |f|
-      assert_equal(expected, f.read.chomp.gsub("\n", ","))
-    end
   end
 
   def test_inplace
@@ -304,73 +299,54 @@
   end
 
   def test_seek
-    ruby('-e', <<-SRC, @t1.path, @t2.path, @t3.path) do |f|
+    assert_src_expected(__LINE__+1, <<-'SRC')
       ARGF.seek(4)
-      p ARGF.gets #=> "3"
+      p ARGF.gets #=> "3\n"
       ARGF.seek(0, IO::SEEK_END)
-      p ARGF.gets #=> "5"
+      p ARGF.gets #=> "5\n"
       ARGF.seek(4)
       p ARGF.gets #=> nil
       begin
         ARGF.seek(0)
       rescue
-        puts "end"
+        puts "end" #=> end
       end
     SRC
-      a = f.read.split("\n")
-      assert_equal('"3\n"', a.shift)
-      assert_equal('"5\n"', a.shift)
-      assert_equal('nil', a.shift)
-      assert_equal('end', a.shift)
-    end
   end
 
   def test_set_pos
-    ruby('-e', <<-SRC, @t1.path, @t2.path, @t3.path) do |f|
+    assert_src_expected(__LINE__+1, <<-'SRC')
       ARGF.pos = 4
-      p ARGF.gets #=> "3"
+      p ARGF.gets #=> "3\n"
       ARGF.pos = 4
-      p ARGF.gets #=> "5"
+      p ARGF.gets #=> "5\n"
       ARGF.pos = 4
       p ARGF.gets #=> nil
       begin
         ARGF.pos = 4
       rescue
-        puts "end"
+        puts "end" #=> end
       end
     SRC
-      a = f.read.split("\n")
-      assert_equal('"3\n"', a.shift)
-      assert_equal('"5\n"', a.shift)
-      assert_equal('nil', a.shift)
-      assert_equal('end', a.shift)
-    end
   end
 
   def test_rewind
-    ruby('-e', <<-SRC, @t1.path, @t2.path, @t3.path) do |f|
+    assert_src_expected(__LINE__+1, <<-'SRC')
       ARGF.pos = 4
       ARGF.rewind
-      p ARGF.gets #=> "1"
+      p ARGF.gets #=> "1\n"
       ARGF.pos = 4
-      p ARGF.gets #=> "3"
+      p ARGF.gets #=> "3\n"
       ARGF.pos = 4
-      p ARGF.gets #=> "5"
+      p ARGF.gets #=> "5\n"
       ARGF.pos = 4
       p ARGF.gets #=> nil
       begin
         ARGF.rewind
       rescue
-        puts "end"
+        puts "end" #=> end
       end
     SRC
-      a = f.read.split("\n")
-      assert_equal('"1\n"', a.shift)
-      assert_equal('"3\n"', a.shift)
-      assert_equal('"5\n"', a.shift)
-      assert_equal('nil', a.shift)
-      assert_equal('end', a.shift)
-    end
   end
 
   def test_fileno

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]