summaryrefslogtreecommitdiff
path: root/test/net/ftp/test_mlsx_entry.rb
blob: 92fe411548b9b66c5f8527cb9d9537b7deb3a7c8 (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# frozen_string_literal: true

require "net/ftp"
require "test/unit"
require "ostruct"
require "stringio"

class MLSxEntryTest < Test::Unit::TestCase
  def test_file?
    assert_equal(true, Net::FTP::MLSxEntry.new({"type"=>"file"}, "foo").file?)
    assert_equal(false, Net::FTP::MLSxEntry.new({"type"=>"dir"}, "foo").file?)
    assert_equal(false, Net::FTP::MLSxEntry.new({"type"=>"cdir"}, "foo").file?)
    assert_equal(false, Net::FTP::MLSxEntry.new({"type"=>"pdir"}, "foo").file?)
  end

  def test_directory?
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"type"=>"file"}, "foo").directory?)
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"type"=>"dir"}, "foo").directory?)
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"type"=>"cdir"}, "foo").directory?)
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"type"=>"pdir"}, "foo").directory?)
  end

  def test_appendable?
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"perm"=>"a"}, "foo").appendable?)
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"perm"=>""}, "foo").appendable?)
  end

  def test_creatable?
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"perm"=>"c"}, "foo").creatable?)
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"perm"=>""}, "foo").creatable?)
  end

  def test_deletable?
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"perm"=>"d"}, "foo").deletable?)
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"perm"=>""}, "foo").deletable?)
  end

  def test_enterable?
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"perm"=>"e"}, "foo").enterable?)
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"perm"=>""}, "foo").enterable?)
  end

  def test_renamable?
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"perm"=>"f"}, "foo").renamable?)
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"perm"=>""}, "foo").renamable?)
  end

  def test_listable?
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"perm"=>"l"}, "foo").listable?)
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"perm"=>""}, "foo").listable?)
  end

  def test_directory_makable?
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"perm"=>"m"}, "foo").
                 directory_makable?)
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"perm"=>""}, "foo").
                 directory_makable?)
  end

  def test_purgeable?
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"perm"=>"p"}, "foo").purgeable?)
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"perm"=>""}, "foo").purgeable?)
  end

  def test_readable?
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"perm"=>"r"}, "foo").readable?)
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"perm"=>""}, "foo").readable?)
  end

  def test_writable?
    assert_equal(true,
                 Net::FTP::MLSxEntry.new({"perm"=>"w"}, "foo").writable?)
    assert_equal(false,
                 Net::FTP::MLSxEntry.new({"perm"=>""}, "foo").writable?)
  end
end