ptools 1.3.7-universal-mingw32 → 1.4.0-universal-mingw32
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGES +5 -2
- data/Gemfile +1 -1
- data/MANIFEST +19 -14
- data/README +1 -1
- data/Rakefile +30 -78
- data/lib/ptools.rb +1 -31
- data/ptools.gemspec +3 -3
- data/spec/binary_spec.rb +59 -0
- data/spec/constants_spec.rb +33 -0
- data/spec/head_spec.rb +41 -0
- data/spec/image_spec.rb +51 -0
- data/{test → spec}/img/test.gif +0 -0
- data/{test → spec}/img/test.ico +0 -0
- data/{test → spec}/img/test.jpg +0 -0
- data/{test → spec}/img/test.png +0 -0
- data/spec/nlconvert_spec.rb +104 -0
- data/spec/sparse_spec.rb +43 -0
- data/spec/tail_spec.rb +107 -0
- data/spec/touch_spec.rb +47 -0
- data/{test → spec}/txt/empty.txt +0 -0
- data/{test → spec}/txt/english.txt +0 -0
- data/{test → spec}/txt/english.utf16 +0 -0
- data/{test → spec}/txt/korean.txt +0 -0
- data/spec/wc_spec.rb +65 -0
- data/spec/whereis_spec.rb +87 -0
- data/spec/which_spec.rb +112 -0
- metadata +31 -49
- metadata.gz.sig +0 -0
- data/test/test_binary.rb +0 -74
- data/test/test_constants.rb +0 -39
- data/test/test_head.rb +0 -48
- data/test/test_image.rb +0 -62
- data/test/test_is_sparse.rb +0 -53
- data/test/test_nlconvert.rb +0 -110
- data/test/test_null.rb +0 -40
- data/test/test_tail.rb +0 -124
- data/test/test_touch.rb +0 -53
- data/test/test_wc.rb +0 -73
- data/test/test_whereis.rb +0 -98
- data/test/test_which.rb +0 -126
data/test/test_whereis.rb
DELETED
@@ -1,98 +0,0 @@
|
|
1
|
-
######################################################################
|
2
|
-
# test_whereis.rb
|
3
|
-
#
|
4
|
-
# Tests for the File.whereis method.
|
5
|
-
######################################################################
|
6
|
-
require 'rubygems'
|
7
|
-
require 'test-unit'
|
8
|
-
require 'ptools'
|
9
|
-
require 'rbconfig'
|
10
|
-
|
11
|
-
class TC_Ptools_Whereis < Test::Unit::TestCase
|
12
|
-
def self.startup
|
13
|
-
@@windows = File::ALT_SEPARATOR
|
14
|
-
@@ruby = RUBY_PLATFORM == 'java' ? 'jruby' : 'ruby'
|
15
|
-
end
|
16
|
-
|
17
|
-
def setup
|
18
|
-
@bin_dir = RbConfig::CONFIG['bindir']
|
19
|
-
@expected_locs = [File.join(@bin_dir, @@ruby)]
|
20
|
-
|
21
|
-
if @@windows
|
22
|
-
@expected_locs[0] << '.exe'
|
23
|
-
@expected_locs[0].tr!("/", "\\")
|
24
|
-
end
|
25
|
-
|
26
|
-
unless @@windows
|
27
|
-
@expected_locs << "/usr/local/bin/#{@@ruby}"
|
28
|
-
@expected_locs << "/opt/sfw/bin/#{@@ruby}"
|
29
|
-
@expected_locs << "/opt/bin/#{@@ruby}"
|
30
|
-
@expected_locs << "/usr/bin/#{@@ruby}"
|
31
|
-
end
|
32
|
-
|
33
|
-
@actual_locs = nil
|
34
|
-
end
|
35
|
-
|
36
|
-
test "whereis basic functionality" do
|
37
|
-
assert_respond_to(File, :whereis)
|
38
|
-
assert_nothing_raised{ File.whereis('ruby') }
|
39
|
-
assert_kind_of([Array, NilClass], File.whereis('ruby'))
|
40
|
-
end
|
41
|
-
|
42
|
-
test "whereis accepts an optional second argument" do
|
43
|
-
assert_nothing_raised{ File.whereis('ruby', '/usr/bin:/usr/local/bin') }
|
44
|
-
end
|
45
|
-
|
46
|
-
test "whereis returns expected values" do
|
47
|
-
assert_nothing_raised{ @actual_locs = File.whereis(@@ruby) }
|
48
|
-
assert_kind_of(Array, @actual_locs)
|
49
|
-
assert_true((@expected_locs & @actual_locs).size > 0)
|
50
|
-
end
|
51
|
-
|
52
|
-
test "whereis returns nil if program not found" do
|
53
|
-
assert_nil(File.whereis('xxxyyy'))
|
54
|
-
end
|
55
|
-
|
56
|
-
test "whereis returns nil if program cannot be found in provided path" do
|
57
|
-
assert_nil(File.whereis(@@ruby, '/foo/bar'))
|
58
|
-
end
|
59
|
-
|
60
|
-
test "whereis returns single element array or nil if absolute path is provided" do
|
61
|
-
absolute = File.join(@bin_dir, @@ruby)
|
62
|
-
absolute << '.exe' if @@windows
|
63
|
-
|
64
|
-
assert_equal([absolute], File.whereis(absolute))
|
65
|
-
assert_nil(File.whereis("/foo/bar/baz/#{@@ruby}"))
|
66
|
-
end
|
67
|
-
|
68
|
-
test "whereis works with an explicit extension on ms windows" do
|
69
|
-
omit_unless(@@windows, 'test skipped except on MS Windows')
|
70
|
-
assert_not_nil(File.whereis(@@ruby + '.exe'))
|
71
|
-
end
|
72
|
-
|
73
|
-
test "whereis requires at least one argument" do
|
74
|
-
assert_raise(ArgumentError){ File.whereis }
|
75
|
-
end
|
76
|
-
|
77
|
-
test "whereis returns unique paths only" do
|
78
|
-
assert_true(File.whereis(@@ruby) == File.whereis(@@ruby).uniq)
|
79
|
-
end
|
80
|
-
|
81
|
-
test "whereis accepts a maximum of two arguments" do
|
82
|
-
assert_raise(ArgumentError){ File.whereis(@@ruby, 'foo', 'bar') }
|
83
|
-
end
|
84
|
-
|
85
|
-
test "the second argument to whereis cannot be nil or empty" do
|
86
|
-
assert_raise(ArgumentError){ File.whereis(@@ruby, nil) }
|
87
|
-
assert_raise(ArgumentError){ File.whereis(@@ruby, '') }
|
88
|
-
end
|
89
|
-
|
90
|
-
def teardown
|
91
|
-
@expected_locs = nil
|
92
|
-
@actual_locs = nil
|
93
|
-
end
|
94
|
-
|
95
|
-
def self.shutdown
|
96
|
-
@@windows = nil
|
97
|
-
end
|
98
|
-
end
|
data/test/test_which.rb
DELETED
@@ -1,126 +0,0 @@
|
|
1
|
-
#####################################################################
|
2
|
-
# test_which.rb
|
3
|
-
#
|
4
|
-
# Test case for the File.which method. You should run this test
|
5
|
-
# via the 'rake test_which' rake task.
|
6
|
-
#
|
7
|
-
# NOTE: I make the assumption that Ruby (or JRuby) is in your
|
8
|
-
# PATH for these tests.
|
9
|
-
#####################################################################
|
10
|
-
require 'test-unit'
|
11
|
-
require 'rbconfig'
|
12
|
-
require 'fileutils'
|
13
|
-
require 'ptools'
|
14
|
-
require 'tempfile'
|
15
|
-
|
16
|
-
class TC_FileWhich < Test::Unit::TestCase
|
17
|
-
def self.startup
|
18
|
-
@@windows = File::ALT_SEPARATOR
|
19
|
-
@@dir = File.join(Dir.pwd, 'tempdir')
|
20
|
-
@@non_exe = File.join(Dir.pwd, 'tempfile')
|
21
|
-
|
22
|
-
Dir.mkdir(@@dir) unless File.exist?(@@dir)
|
23
|
-
FileUtils.touch(@@non_exe)
|
24
|
-
File.chmod(775, @@dir)
|
25
|
-
File.chmod(644, @@non_exe)
|
26
|
-
end
|
27
|
-
|
28
|
-
def setup
|
29
|
-
@ruby = RUBY_PLATFORM.match('java') ? 'jruby' : 'ruby'
|
30
|
-
@ruby = 'rbx' if defined?(Rubinius)
|
31
|
-
|
32
|
-
@exe = File.join(
|
33
|
-
RbConfig::CONFIG['bindir'],
|
34
|
-
RbConfig::CONFIG['ruby_install_name']
|
35
|
-
)
|
36
|
-
|
37
|
-
if @@windows
|
38
|
-
@exe.tr!('/','\\')
|
39
|
-
@exe << ".exe"
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
test "which method basic functionality" do
|
44
|
-
assert_respond_to(File, :which)
|
45
|
-
assert_nothing_raised{ File.which(@ruby) }
|
46
|
-
assert_kind_of(String, File.which(@ruby))
|
47
|
-
end
|
48
|
-
|
49
|
-
test "which accepts an optional path to search" do
|
50
|
-
assert_nothing_raised{ File.which(@ruby, "/usr/bin:/usr/local/bin") }
|
51
|
-
end
|
52
|
-
|
53
|
-
test "which returns nil if not found" do
|
54
|
-
assert_equal(nil, File.which(@ruby, '/bogus/path'))
|
55
|
-
assert_equal(nil, File.which('blahblahblah'))
|
56
|
-
end
|
57
|
-
|
58
|
-
test "which handles executables without extensions on windows" do
|
59
|
-
omit_unless(@@windows, "test skipped unless MS Windows")
|
60
|
-
assert_not_nil(File.which('ruby'))
|
61
|
-
assert_not_nil(File.which('notepad'))
|
62
|
-
end
|
63
|
-
|
64
|
-
test "which handles executables that already contain extensions on windows" do
|
65
|
-
omit_unless(@@windows, "test skipped unless MS Windows")
|
66
|
-
assert_not_nil(File.which('ruby.exe'))
|
67
|
-
assert_not_nil(File.which('notepad.exe'))
|
68
|
-
end
|
69
|
-
|
70
|
-
test "which returns argument if an existent absolute path is provided" do
|
71
|
-
assert_equal(@exe, File.which(@ruby), "=> May fail on a symlink")
|
72
|
-
end
|
73
|
-
|
74
|
-
test "which returns nil if a non-existent absolute path is provided" do
|
75
|
-
assert_nil(File.which('/foo/bar/baz/ruby'))
|
76
|
-
end
|
77
|
-
|
78
|
-
test "which does not pickup files that are not executable" do
|
79
|
-
assert_nil(File.which(@@non_exe))
|
80
|
-
end
|
81
|
-
|
82
|
-
test "which does not pickup executable directories" do
|
83
|
-
assert_nil(File.which(@@dir))
|
84
|
-
end
|
85
|
-
|
86
|
-
test "which accepts a minimum of one argument" do
|
87
|
-
assert_raises(ArgumentError){ File.which }
|
88
|
-
end
|
89
|
-
|
90
|
-
test "which accepts a maximum of two arguments" do
|
91
|
-
assert_raises(ArgumentError){ File.which(@ruby, "foo", "bar") }
|
92
|
-
end
|
93
|
-
|
94
|
-
test "the second argument cannot be nil or empty" do
|
95
|
-
assert_raises(ArgumentError){ File.which(@ruby, nil) }
|
96
|
-
assert_raises(ArgumentError){ File.which(@ruby, '') }
|
97
|
-
end
|
98
|
-
|
99
|
-
test "resolves with with ~" do
|
100
|
-
omit_if(@@windows, "~ tests skipped on MS Windows")
|
101
|
-
begin
|
102
|
-
old_home = ENV['HOME']
|
103
|
-
|
104
|
-
ENV['HOME'] = Dir::Tmpname.tmpdir
|
105
|
-
program = Tempfile.new(['program', '.sh'])
|
106
|
-
File.chmod(755, program.path)
|
107
|
-
|
108
|
-
assert_not_nil(File.which(File.basename(program.path), '~/'))
|
109
|
-
ensure
|
110
|
-
ENV['HOME'] = old_home
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
def teardown
|
115
|
-
@exe = nil
|
116
|
-
@ruby = nil
|
117
|
-
end
|
118
|
-
|
119
|
-
def self.shutdown
|
120
|
-
FileUtils.rm(@@non_exe)
|
121
|
-
FileUtils.rm_rf(@@dir)
|
122
|
-
@@windows = nil
|
123
|
-
@@dir = nil
|
124
|
-
@@non_exe = nil
|
125
|
-
end
|
126
|
-
end
|