summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-28 16:11:54 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-28 16:11:54 +0000
commitdd73ff23f22810de2f83df0feb39bc125a0d642a (patch)
treed62163b9e8e97544ed361df4bf0de0d61ae99fbf /test
parentaa502dc6c66dbca3a5081fc94146765e3433e801 (diff)
merges r24719 from trunk into ruby_1_9_1.
-- * test/ruby/test_argf.rb (assert_src_expected): refactored. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@25550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_argf.rb82
1 files changed, 29 insertions, 53 deletions
diff --git a/test/ruby/test_argf.rb b/test/ruby/test_argf.rb
index c00db99bf9..9b568cc5c6 100644
--- a/test/ruby/test_argf.rb
+++ b/test/ruby/test_argf.rb
@@ -54,8 +54,21 @@ class TestArgf < Test::Unit::TestCase
/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 @@ class TestArgf < Test::Unit::TestCase
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 @@ class TestArgf < Test::Unit::TestCase
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 @@ class TestArgf < Test::Unit::TestCase
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 @@ class TestArgf < Test::Unit::TestCase
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