net-ftp-list 3.2.11 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,15 +2,14 @@ require 'test/unit'
2
2
  require 'net/ftp/list'
3
3
 
4
4
  class TestNetFTPListMicrosoft < Test::Unit::TestCase
5
-
6
5
  def setup
7
6
  @dir = Net::FTP::List.parse('06-25-07 01:08PM <DIR> etc')
8
7
  @file = Net::FTP::List.parse('11-27-07 08:45PM 23437 README.TXT')
9
8
  end
10
9
 
11
10
  def test_parse_new
12
- assert_equal "Microsoft", @dir.server_type, 'LIST M$ directory'
13
- assert_equal "Microsoft", @file.server_type, 'LIST M$ directory'
11
+ assert_equal 'Microsoft', @dir.server_type, 'LIST M$ directory'
12
+ assert_equal 'Microsoft', @file.server_type, 'LIST M$ directory'
14
13
  end
15
14
 
16
15
  def test_parse_dd_mm_yyyy
@@ -62,12 +61,12 @@ class TestNetFTPListMicrosoft < Test::Unit::TestCase
62
61
  end
63
62
 
64
63
  def test_rubbish_lines
65
- assert_instance_of Net::FTP::List::Entry, Net::FTP::List.parse("++ bah! ++")
64
+ assert_instance_of Net::FTP::List::Entry, Net::FTP::List.parse('++ bah! ++')
66
65
  end
67
66
 
68
67
  def test_ruby_microsoft_mtime
69
- assert_equal DateTime.strptime('06-25-07 01:08PM', "%m-%d-%y %I:%M%p"), @dir.mtime
70
- assert_equal DateTime.strptime('11-27-07 08:45PM', "%m-%d-%y %I:%M%p"), @file.mtime
68
+ assert_equal Time.utc(2007, 6, 25, 13, 8), @dir.mtime
69
+ assert_equal Time.utc(2007, 11, 27, 20, 45), @file.mtime
71
70
  end
72
71
 
73
72
  def test_ruby_microsoft_like_dir
@@ -89,6 +88,6 @@ class TestNetFTPListMicrosoft < Test::Unit::TestCase
89
88
 
90
89
  def test_zero_hour
91
90
  file = Net::FTP::List.parse('10-15-09 00:34AM <DIR> aspnet_client')
92
- assert_equal 1255566840.to_s, file.mtime.strftime('%s')
91
+ assert_equal Time.utc(2009, 10, 15, 0, 34), file.mtime
93
92
  end
94
93
  end
@@ -2,20 +2,19 @@ require 'test/unit'
2
2
  require 'net/ftp/list'
3
3
 
4
4
  class TestNetFTPListNetware < Test::Unit::TestCase
5
-
6
5
  def setup
7
- @dir = Net::FTP::List.parse('d [RWCEAFMS] dpearce 512 Jun 27 23:46 public.www')
8
- @file = Net::FTP::List.parse('- [RWCEAFMS] dpearce 2767 Jun 22 06:22 about.html')
6
+ @dir = Net::FTP::List.parse('d [RWCEAFMS] dpearce 512 Jun 27 23:46 public.www')
7
+ @file = Net::FTP::List.parse('- [RWCEAFMS] dpearce 2767 Jun 22 06:22 about.html', timezone: :local)
9
8
  end
10
9
 
11
10
  def test_parse_new
12
- assert_equal "Netware", @dir.server_type, 'LIST Netware directory'
13
- assert_equal "Netware", @file.server_type, 'LIST Netware file'
11
+ assert_equal 'Netware', @dir.server_type, 'LIST Netware directory'
12
+ assert_equal 'Netware', @file.server_type, 'LIST Netware file'
14
13
  end
15
14
 
16
15
  def test_ruby_netware_mtime
17
- assert_equal @dir.mtime, Time.parse('Jun 27 23:46')
18
- assert_equal @file.mtime, Time.parse('Jun 22 06:22')
16
+ assert_equal Time.utc(Time.now.year, 6, 27, 23, 46), @dir.mtime
17
+ assert_equal Time.local(Time.now.year, 6, 22, 6, 22), @file.mtime
19
18
  end
20
19
 
21
20
  def test_ruby_netware_like_dir
@@ -34,5 +33,4 @@ class TestNetFTPListNetware < Test::Unit::TestCase
34
33
  assert_equal 512, @dir.filesize
35
34
  assert_equal 2767, @file.filesize
36
35
  end
37
-
38
36
  end
@@ -2,20 +2,19 @@ require 'test/unit'
2
2
  require 'net/ftp/list'
3
3
 
4
4
  class TestNetFTPListRumpus < Test::Unit::TestCase
5
-
6
5
  def setup
7
6
  @dir = Net::FTP::List.parse 'drwxrwxrwx folder 0 Nov 16 22:12 Alias'
8
- @file = Net::FTP::List.parse '-rw-r--r-- 0 101426 101426 Jun 7 2008 imap with spaces.rb'
7
+ @file = Net::FTP::List.parse '-rw-r--r-- 0 101426 101426 Jun 7 2008 imap with spaces.rb', timezone: :local
9
8
  end
10
9
 
11
10
  def test_parsed
12
- assert_equal "Rumpus", @dir.server_type, 'LIST Rumpus directory'
13
- assert_equal "Rumpus", @file.server_type, 'LIST Rumpus file with spaces'
11
+ assert_equal 'Rumpus', @dir.server_type, 'LIST Rumpus directory'
12
+ assert_equal 'Rumpus', @file.server_type, 'LIST Rumpus file with spaces'
14
13
  end
15
14
 
16
15
  def test_ruby_unix_like_date
17
- assert_equal Time.parse("Nov 16 22:12"), @dir.mtime
18
- assert_equal Time.parse("Jun 7 2008"), @file.mtime
16
+ assert_equal Time.utc(Time.now.year, 11, 16, 22, 12), @dir.mtime
17
+ assert_equal Time.local(2008, 6, 7), @file.mtime
19
18
  end
20
19
 
21
20
  def test_dir
@@ -1,97 +1,83 @@
1
1
  require 'test/unit'
2
2
  require 'net/ftp/list'
3
+ require 'timecop'
3
4
 
4
5
  class TestNetFTPListUnix < Test::Unit::TestCase
5
6
  def setup
6
- @dir = Net::FTP::List.parse 'drwxr-xr-x 4 user group 4096 Jan 1 00:00 etc' rescue nil
7
- @file = Net::FTP::List.parse '-rw-r--r-- 1 root other 531 Dec 31 23:59 README' rescue nil
8
- @other_dir = Net::FTP::List.parse 'drwxr-xr-x 8 1791 600 4096 Mar 11 07:57 forums' rescue nil
9
- @spaces = Net::FTP::List.parse 'drwxrwxr-x 2 danial danial 72 May 23 12:52 spaces suck' rescue nil
10
- @symlink = Net::FTP::List.parse 'lrwxrwxrwx 1 danial danial 4 Oct 30 15:26 bar -> /etc' rescue nil
11
- @empty_symlink = Net::FTP::List.parse 'lrwxrwxrwx 1 danial danial 4 Oct 30 15:26 foo' rescue nil
12
- @older_date = Net::FTP::List.parse '-rwxrwxrwx 1 owner group 154112 Feb 15 2008 participando.xls' rescue nil
13
- @block_dev = Net::FTP::List.parse 'brw-r----- 1 root disk 1, 0 Apr 13 2006 ram0' rescue nil
14
- @char_dev = Net::FTP::List.parse 'crw-rw-rw- 1 root root 1, 3 Apr 13 2006 null' rescue nil
15
- @socket_dev = Net::FTP::List.parse 'srw-rw-rw- 1 root root 0 Aug 20 14:15 log' rescue nil
16
- @pipe_dev = Net::FTP::List.parse 'prw-r----- 1 root adm 0 Nov 22 10:30 xconsole' rescue nil
17
- @file_no_inodes = Net::FTP::List.parse '-rw-r--r-- foo@localhost foo@localhost 6034 May 14 23:13 index.html' rescue nil
18
- @file_today = Net::FTP::List.parse 'crw-rw-rw- 1 root root 1, 3 Aug 16 14:28 today.txt' rescue nil
19
- @no_user = Net::FTP::List.parse '-rw-rw---- 2786 Jul 7 01:57 README' rescue nil
7
+ @dir = Net::FTP::List.parse 'drwxr-xr-x 4 user group 4096 Jan 1 00:00 etc'
8
+ @file = Net::FTP::List.parse '-rw-r--r-- 1 root other 531 Dec 31 23:59 README'
9
+ @other_dir = Net::FTP::List.parse 'drwxr-xr-x 8 1791 600 4096 Mar 11 07:57 forums'
10
+ @spaces = Net::FTP::List.parse 'drwxrwxr-x 2 danial danial 72 May 23 12:52 spaces suck'
11
+ @symlink = Net::FTP::List.parse 'lrwxrwxrwx 1 danial danial 4 Oct 30 15:26 bar -> /etc'
12
+ @empty_symlink = Net::FTP::List.parse 'lrwxrwxrwx 1 danial danial 4 Oct 30 15:26 foo'
13
+ @older_date = Net::FTP::List.parse '-rwxrwxrwx 1 owner group 154112 Feb 15 2008 participando.xls'
14
+ @block_dev = Net::FTP::List.parse 'brw-r----- 1 root disk 1, 0 Apr 13 2006 ram0', timezone: :local
15
+ @char_dev = Net::FTP::List.parse 'crw-rw-rw- 1 root root 1, 3 Apr 13 2006 null'
16
+ @socket_dev = Net::FTP::List.parse 'srw-rw-rw- 1 root root 0 Aug 20 14:15 log'
17
+ @pipe_dev = Net::FTP::List.parse 'prw-r----- 1 root adm 0 Nov 22 10:30 xconsole'
18
+ @file_no_inodes = Net::FTP::List.parse '-rw-r--r-- foo@utchost foo@utchost 6034 May 14 23:13 index.html'
19
+ @file_today = Net::FTP::List.parse 'crw-rw-rw- 1 root root 1, 3 Aug 16 14:28 today.txt'
20
+ @no_user = Net::FTP::List.parse '-rw-rw---- 2786 Jul 7 01:57 README'
20
21
  end
21
22
 
22
23
  def test_parse_new
23
- assert_equal "Unix", @dir.server_type, 'LIST unixish directory'
24
- assert_equal "Unix", @file.server_type, 'LIST unixish file'
25
- assert_equal "Unix", @other_dir.server_type, 'LIST unixish directory'
26
- assert_equal "Unix", @spaces.server_type, 'LIST unixish directory with spaces'
27
- assert_equal "Unix", @symlink.server_type, 'LIST unixish symlink'
28
- assert_equal "Unix", @empty_symlink.server_type, 'LIST unixish symlink'
29
- assert_equal "Unix", @block_dev.server_type, 'LIST unix block device'
30
- assert_equal "Unix", @char_dev.server_type, 'LIST unix char device'
31
- assert_equal "Unix", @socket_dev.server_type, 'LIST unix socket device'
32
- assert_equal "Unix", @pipe_dev.server_type, 'LIST unix socket device'
33
- assert_equal "Unix", @file_no_inodes.server_type, 'LIST unixish file with no inodes'
34
- assert_equal "Unix", @no_user.server_type, 'LIST unixish file with no user/group'
35
- end
36
-
37
- class ::Time
38
- class << self
39
- def time_travel(time)
40
- @traveled_to_time = time
41
-
42
- begin
43
- yield
44
- ensure
45
- @traveled_to_time = nil
46
- end
47
- end
48
-
49
- alias_method :original_now, :now
50
- def now
51
- @traveled_to_time || original_now
52
- end
53
- end
24
+ assert_equal 'Unix', @dir.server_type, 'LIST unixish directory'
25
+ assert_equal 'Unix', @file.server_type, 'LIST unixish file'
26
+ assert_equal 'Unix', @other_dir.server_type, 'LIST unixish directory'
27
+ assert_equal 'Unix', @spaces.server_type, 'LIST unixish directory with spaces'
28
+ assert_equal 'Unix', @symlink.server_type, 'LIST unixish symlink'
29
+ assert_equal 'Unix', @empty_symlink.server_type, 'LIST unixish symlink'
30
+ assert_equal 'Unix', @block_dev.server_type, 'LIST unix block device'
31
+ assert_equal 'Unix', @char_dev.server_type, 'LIST unix char device'
32
+ assert_equal 'Unix', @socket_dev.server_type, 'LIST unix socket device'
33
+ assert_equal 'Unix', @pipe_dev.server_type, 'LIST unix socket device'
34
+ assert_equal 'Unix', @file_no_inodes.server_type, 'LIST unixish file with no inodes'
35
+ assert_equal 'Unix', @no_user.server_type, 'LIST unixish file with no user/group'
54
36
  end
55
37
 
56
38
  # mtimes in the past, same year.
57
39
  def test_ruby_unix_like_date_past_same_year
58
-
59
- Time.time_travel(Time.local(2009, 1, 1)) do
60
- assert_equal Time.local(2009, 1, 1), Net::FTP::List.parse(@dir.raw).mtime
40
+ Timecop.freeze(Time.utc(2009, 1, 1)) do
41
+ assert_equal Time.utc(2009, 1, 1), Net::FTP::List.parse(@dir.raw).mtime
61
42
  end
62
- Time.time_travel(Time.local(2008, 4, 1)) do
63
- assert_equal Time.local(2008, 3, 11, 7, 57), Net::FTP::List.parse(@other_dir.raw).mtime
43
+ Timecop.freeze(Time.utc(2008, 4, 1)) do
44
+ assert_equal Time.utc(2008, 3, 11, 7, 57), Net::FTP::List.parse(@other_dir.raw).mtime
64
45
  end
65
46
  end
66
47
 
67
48
  # mtimes in the past, previous year
68
49
  def test_ruby_unix_like_date_past_previous_year
69
- Time.time_travel(Time.local(2008, 2, 4)) do
70
- assert_equal Time.local(2007, 10, 30, 15, 26), Net::FTP::List.parse(@symlink.raw).mtime
50
+ Timecop.freeze(Time.utc(2008, 2, 4)) do
51
+ assert_equal Time.utc(2007, 10, 30, 15, 26), Net::FTP::List.parse(@symlink.raw).mtime
71
52
  end
72
53
  end
73
54
 
74
55
  # mtime in the future.
75
56
  def test_ruby_unix_like_date_future
76
- Time.time_travel(Time.local(2006, 3, 1)) do
77
- assert_equal Time.local(2006, 4, 13), Net::FTP::List.parse(@char_dev.raw).mtime
57
+ Timecop.freeze(Time.utc(2006, 3, 1)) do
58
+ assert_equal Time.utc(2006, 4, 13), Net::FTP::List.parse(@char_dev.raw).mtime
78
59
  end
79
60
  end
80
61
 
81
62
  # Parsed during a leap year.
82
63
  def test_ruby_unix_like_date_leap_year
83
- Time.time_travel(Time.local(2012, 1, 2)) do
84
- assert_equal Time.local(2011, 10, 30, 15, 26), Net::FTP::List.parse(@symlink.raw).mtime
64
+ Timecop.freeze(Time.utc(2012, 1, 2)) do
65
+ assert_equal Time.utc(2011, 10, 30, 15, 26), Net::FTP::List.parse(@symlink.raw).mtime
85
66
  end
86
67
  end
87
68
 
88
69
  # mtimes today, same year.
89
70
  def test_ruby_unix_like_date_today_same_year
90
- Time.time_travel(Time.local(2013, 8, 16)) do
91
- assert_equal Time.local(2013, 8, 16, 14, 28), Net::FTP::List.parse(@file_today.raw).mtime
71
+ Timecop.freeze(Time.utc(2013, 8, 16)) do
72
+ assert_equal Time.utc(2013, 8, 16, 14, 28), Net::FTP::List.parse(@file_today.raw).mtime
92
73
  end
93
74
  end
94
75
 
76
+ def test_mtime
77
+ assert_equal Time.utc(2008, 2, 15), @older_date.mtime
78
+ assert_equal Time.local(2006, 4, 13), @block_dev.mtime
79
+ end
80
+
95
81
  def test_ruby_unix_like_dir
96
82
  assert_equal 'etc', @dir.basename
97
83
  assert @dir.dir?
@@ -104,7 +90,7 @@ class TestNetFTPListUnix < Test::Unit::TestCase
104
90
 
105
91
  def test_ruby_unix_like_symlink
106
92
  assert_equal 'bar', @symlink.basename
107
- assert_equal "/etc", @symlink.symlink_destination
93
+ assert_equal '/etc', @symlink.symlink_destination
108
94
  assert @symlink.symlink?
109
95
  assert !@symlink.dir?
110
96
  assert !@symlink.file?
@@ -152,12 +138,13 @@ class TestNetFTPListUnix < Test::Unit::TestCase
152
138
  end
153
139
 
154
140
  def test_single_digit_hour
155
- Time.time_travel(Time.local(2014, 8, 16)) do
141
+ Timecop.freeze(Time.utc(2014, 8, 16)) do
142
+ single_digit_hour = nil
156
143
  assert_nothing_raised do
157
- @single_digit_hour = Net::FTP::List.parse('-rw-r--r-- 1 root other 531 Dec 31 3:59 README')
144
+ single_digit_hour = Net::FTP::List.parse('-rw-r--r-- 1 root other 531 Dec 31 3:59 README')
158
145
  end
159
146
 
160
- assert_equal Time.local(2013, 12, 31, 3, 59), @single_digit_hour.mtime
147
+ assert_equal Time.utc(2013, 12, 31, 3, 59), single_digit_hour.mtime
161
148
  end
162
149
  end
163
150
  end
metadata CHANGED
@@ -1,17 +1,31 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-ftp-list
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.11
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stateless Systems
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-02 00:00:00.000000000 Z
11
+ date: 2021-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: jeweler
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rubocop-bsm
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - ">="
@@ -38,19 +52,33 @@ dependencies:
38
52
  - - ">="
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: timecop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  description:
42
70
  email: enquiries@statelesssystems.com
43
71
  executables: []
44
72
  extensions: []
45
- extra_rdoc_files:
46
- - README.txt
73
+ extra_rdoc_files: []
47
74
  files:
48
- - ".ruby-version"
75
+ - ".github/workflows/test.yml"
76
+ - ".gitignore"
77
+ - ".rubocop.yml"
49
78
  - Gemfile
50
79
  - Gemfile.lock
51
80
  - README.txt
52
81
  - Rakefile
53
- - VERSION.yml
54
82
  - lib/net/ftp/list.rb
55
83
  - lib/net/ftp/list/entry.rb
56
84
  - lib/net/ftp/list/microsoft.rb
@@ -67,7 +95,8 @@ files:
67
95
  - test/test_net_ftp_list_rumpus.rb
68
96
  - test/test_net_ftp_list_unix.rb
69
97
  homepage: http://github.com/stateless-systems/net-ftp-list
70
- licenses: []
98
+ licenses:
99
+ - MIT
71
100
  metadata: {}
72
101
  post_install_message:
73
102
  rdoc_options: []
@@ -77,16 +106,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
77
106
  requirements:
78
107
  - - ">="
79
108
  - !ruby/object:Gem::Version
80
- version: '0'
109
+ version: '2.5'
81
110
  required_rubygems_version: !ruby/object:Gem::Requirement
82
111
  requirements:
83
112
  - - ">="
84
113
  - !ruby/object:Gem::Version
85
114
  version: '0'
86
115
  requirements: []
87
- rubyforge_project:
88
- rubygems_version: 2.7.6
116
+ rubygems_version: 3.0.3
89
117
  signing_key:
90
118
  specification_version: 4
91
119
  summary: Parse FTP LIST command output.
92
- test_files: []
120
+ test_files:
121
+ - test/test_net_ftp_list.rb
122
+ - test/test_net_ftp_list_entry.rb
123
+ - test/test_net_ftp_list_microsoft.rb
124
+ - test/test_net_ftp_list_netware.rb
125
+ - test/test_net_ftp_list_rumpus.rb
126
+ - test/test_net_ftp_list_unix.rb
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.0.0-p451
data/VERSION.yml DELETED
@@ -1,5 +0,0 @@
1
- ---
2
- :major: 3
3
- :minor: 2
4
- :patch: 11
5
- :build: