summaryrefslogtreecommitdiff
path: root/test/rake/test_rake_ftp_file.rb
blob: 5749b8a5ef5f240d57f1ddd37d7443a47cd1c2a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
require File.expand_path('../helper', __FILE__)
require 'date'
require 'time'
require 'rake/contrib/ftptools'

class FakeDate
  def self.today
    Date.new(2003, 10, 3)
  end

  def self.now
    Time.local(2003, 10, 3, 12, 00, 00)
  end
end

class TestRakeFtpFile < Rake::TestCase

  def setup
    super

    Rake::FtpFile.class_eval {
      @date_class = FakeDate
      @time_class = FakeDate
    }
  end

  def test_general
    file = Rake::FtpFile.new(
      "here",
      "-rw-r--r--   1 a279376  develop   121770 Mar  6 14:50 wiki.pl")
    assert_equal "wiki.pl", file.name
    assert_equal "here/wiki.pl", file.path
    assert_equal "a279376", file.owner
    assert_equal "develop", file.group
    assert_equal 0644, file.mode
    assert_equal 121_770, file.size
    assert_equal Time.mktime(2003, 3, 6, 14, 50, 0, 0), file.time
    assert ! file.directory?
    assert ! file.symlink?
  end

  def test_far_date
    file = Rake::FtpFile.new(
      ".",
      "drwxr-xr-x   3 a279376  develop     4096 Nov 26  2001 vss")
    assert_equal Time.mktime(2001, 11, 26, 0, 0, 0, 0), file.time
  end

  def test_close_date
    file = Rake::FtpFile.new(
      ".",
      "drwxr-xr-x   3 a279376  develop     4096 Nov 26 15:35 vss")
    assert_equal Time.mktime(2002, 11, 26, 15, 35, 0, 0), file.time
  end

  def test_directory
    file = Rake::FtpFile.new(
      ".",
      "drwxrwxr-x   9 a279376  develop     4096 Mar 13 14:32 working")
    assert file.directory?
    assert !file.symlink?
  end

  def test_symlink
    file = Rake::FtpFile.new(
      ".",
      "lrwxrwxrwx   1 a279376  develop       64 Mar 26  2002 " +
      "xtrac -> /home/a279376/working/ics/development/java/" +
      "com/fmr/fwp/ics/xtrac")
    assert_equal 'xtrac', file.name
    assert file.symlink?
    assert !file.directory?
  end
end