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/