require 'test/unit' require 'facet/fileutils/head' require 'facet/fileutils/slice' require 'facet/fileutils/tail' class TC_FileUtils_HeadTail < Test::Unit::TestCase def setup @workdir = Dir.getwd @thisdir = File.dirname(__FILE__) @tfile = 'test_file.txt' @expected_head1 = ["line1\n","line2\n","line3\n","line4\n","line5\n"] @expected_head1.push("line6\n","line7\n","line8\n","line9\n","line10\n") @expected_head2 = ["line1\n","line2\n","line3\n","line4\n","line5\n"] @expected_tail1 = ["line16\n","line17\n","line18\n","line19\n","line20\n"] @expected_tail1.push("line21\n","line22\n","line23\n","line24\n","line25\n") @expected_tail2 = ["line21\n","line22\n","line23\n","line24\n","line25\n"] @expected_body1 = ["line10\n", "line11\n", "line12\n", "line13\n", "line14\n"] @expected_body1.push("line15\n","line16\n", "line17\n", "line18\n", "line19\n","line20\n") @expected_body2 = ["line14\n","line15\n","line16\n","line17\n","line18\n","line19\n","line20\n"] @expected_body3 = ["line5\n","line6\n","line7\n","line8\n","line9\n","line10\n"] end def test_method assert_respond_to( FileUtils, :head ) assert_respond_to( FileUtils, :tail ) assert_respond_to( FileUtils, :slice ) end def test_head Dir.chdir @thisdir begin assert_nothing_raised{ FileUtils.head(@tfile) } assert_nothing_raised{ FileUtils.head(@tfile,5) } assert_equal(@expected_head1,FileUtils.head(@tfile)) assert_equal(@expected_head2,FileUtils.head(@tfile,5)) ensure Dir.chdir @workdir end end def test_tail Dir.chdir @thisdir begin assert_nothing_raised{ FileUtils.tail(@tfile) } assert_nothing_raised{ FileUtils.tail(@tfile,5) } assert_equal(@expected_tail1,FileUtils.tail(@tfile)) assert_equal(@expected_tail2,FileUtils.tail(@tfile,5)) ensure Dir.chdir @workdir end end def test_slice Dir.chdir @thisdir begin assert_nothing_raised{ FileUtils.slice(@tfile,5,10) } assert_equal(@expected_body3,FileUtils.slice(@tfile,5,10)) ensure Dir.chdir @workdir end end end