Sha256: 4195c10725f6f5df84aef353221c948001ddabbe859f8007e2601b2002b03858

Contents?: true

Size: 1.29 KB

Versions: 4

Compression:

Stored size: 1.29 KB

Contents

require 'test/unit'
require 'net/ftp/list'

class TestNetFTPListMicrosoft < Test::Unit::TestCase

  def setup
    @dir  = Net::FTP::List.parse('06-25-07  01:08PM       <DIR>          etc')
    @file = Net::FTP::List.parse('11-27-07  08:45PM                23437 README.TXT')
  end

  def test_parse_new
    assert_equal "Microsoft", @dir.server_type, 'LIST M$ directory'
    assert_equal "Microsoft", @file.server_type, 'LIST M$ directory'
  end

  def test_rubbish_lines
    assert_instance_of Net::FTP::List::Entry, Net::FTP::List.parse("++ bah! ++")
  end

  def test_ruby_microsoft_mtime
    assert_equal DateTime.strptime('06-25-07  01:08PM', "%m-%d-%y  %I:%M%p"), @dir.mtime
    assert_equal DateTime.strptime('11-27-07  08:45PM', "%m-%d-%y  %I:%M%p"), @file.mtime
  end

  def test_ruby_microsoft_like_dir
    assert_equal 'etc', @dir.basename
    assert @dir.dir?
    assert !@dir.file?
  end

  def test_ruby_microsoft_like_file
    assert_equal 'README.TXT', @file.basename
    assert @file.file?
    assert !@file.dir?
  end

  def test_filesize
    assert_equal 0, @dir.filesize
    assert_equal 23437, @file.filesize
  end

  def test_zero_hour
    file = Net::FTP::List.parse('10-15-09  00:34AM       <DIR>          aspnet_client')
    assert_equal 1255566840.to_s, file.mtime.strftime('%s')
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
net-ftp-list-3.2.3 test/test_net_ftp_list_microsoft.rb
net-ftp-list-3.2.2 test/test_net_ftp_list_microsoft.rb
net-ftp-list-3.2.1 test/test_net_ftp_list_microsoft.rb
net-ftp-list-3.2.0 test/test_net_ftp_list_microsoft.rb