test/tc/copylines.rb in rio-0.3.1 vs test/tc/copylines.rb in rio-0.3.2

- old
+ new

@@ -1,40 +1,46 @@ #!/usr/local/bin/ruby if $0 == __FILE__ Dir.chdir File.dirname(__FILE__)+'/../' $:.unshift File.expand_path('../lib/') end + require 'rio' -require 'test/unit' -class TC_RIO_copylines < Test::Unit::TestCase - def test_copylines - qp = RIO.rio('qp') - rio(qp,'test_copylines').rmtree.mkpath.chdir { - str = 'peter piper picked a peck of pickled peppers' - words = str.split(/\s+/) - line = words.map { |w| w+"\n" }.join('') - src = rio('src').print!(line) - - #$trace_states = true - out = rio('$') - rio('src').chomp.lines(/^[^p]/) > out - out.close - $trace_states = false - assert_equal('aof',out.contents) - - out < rio('src').lines(/^[^p]/) - assert_equal("a\nof\n",out.contents) - - aout = Array.new - rio('src').chomp.lines(1,4..6) > aout - assert_equal(%w{piper peck of pickled},aout) - - out < rio('src').chomp.lines(0..1) - assert_equal("peterpiper",out.contents) - - rio('src').chomp.lines(0..1) > aout - assert_equal(%w{peter piper},aout) - rio('src').chomp.lines(0..1) >> aout - assert_equal(%w{peter piper peter piper},aout) - } +require 'tc/testcase' + +class TC_copylines < Test::RIO::TestCase + @@once = false + STR = 'peter piper picked a peck of pickled peppers' + WORDS = STR.split(/\s+/) + LINE = WORDS.map { |w| w+"\n" }.join('') + def self.once + @@once = true + src = rio('src').print!(LINE) + end + def setup + super + self.class.once unless @@once + end + def test_basic + out = rio(?") + rio('src').chomp.lines(/^[^p]/) > out + assert(out.closed?, "copy closed") + + assert_equal('aof',out.contents) + + out < rio('src').lines(/^[^p]/) + assert_equal("a\nof\n",out.contents) + + aout = Array.new + rio('src').chomp.lines(1,4..6) > aout + assert_equal(%w{piper peck of pickled},aout) + + out < rio('src').chomp.lines(0..1) + assert_equal("peterpiper",out.contents) + + rio('src').chomp.lines(0..1) > aout + assert_equal(%w{peter piper},aout) + + rio('src').chomp.lines(0..1) >> aout + assert_equal(%w{peter piper peter piper},aout) end end