1require File.expand_path('../helper', __FILE__) 2require 'date' 3require 'time' 4require 'rake/contrib/ftptools' 5 6class FakeDate 7 def self.today 8 Date.new(2003,10,3) 9 end 10 def self.now 11 Time.local(2003,10,3,12,00,00) 12 end 13end 14 15class TestRakeFtpFile < Rake::TestCase 16 17 def setup 18 super 19 20 Rake::FtpFile.class_eval { @date_class = FakeDate; @time_class = FakeDate } 21 end 22 23 def test_general 24 file = Rake::FtpFile.new("here", "-rw-r--r-- 1 a279376 develop 121770 Mar 6 14:50 wiki.pl") 25 assert_equal "wiki.pl", file.name 26 assert_equal "here/wiki.pl", file.path 27 assert_equal "a279376", file.owner 28 assert_equal "develop", file.group 29 assert_equal 0644, file.mode 30 assert_equal 121770, file.size 31 assert_equal Time.mktime(2003,3,6,14,50,0,0), file.time 32 assert ! file.directory? 33 assert ! file.symlink? 34 end 35 36 def test_far_date 37 file = Rake::FtpFile.new(".", "drwxr-xr-x 3 a279376 develop 4096 Nov 26 2001 vss") 38 assert_equal Time.mktime(2001,11,26,0,0,0,0), file.time 39 end 40 41 def test_close_date 42 file = Rake::FtpFile.new(".", "drwxr-xr-x 3 a279376 develop 4096 Nov 26 15:35 vss") 43 assert_equal Time.mktime(2002,11,26,15,35,0,0), file.time 44 end 45 46 def test_directory 47 file = Rake::FtpFile.new(".", "drwxrwxr-x 9 a279376 develop 4096 Mar 13 14:32 working") 48 assert file.directory? 49 assert !file.symlink? 50 end 51 52 def test_symlink 53 file = Rake::FtpFile.new(".", "lrwxrwxrwx 1 a279376 develop 64 Mar 26 2002 xtrac -> /home/a279376/working/ics/development/java/com/fmr/fwp/ics/xtrac") 54 assert_equal 'xtrac', file.name 55 assert file.symlink? 56 assert !file.directory? 57 end 58end 59 60