pathname2 1.6.5-universal-mingw32 → 1.7.1-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 +15 -0
- data/CHANGES +10 -0
- data/MANIFEST +28 -1
- data/README +5 -6
- data/Rakefile +179 -3
- data/lib/pathname2.rb +128 -134
- data/pathname2.gemspec +7 -10
- data/test/test_pathname.rb +15 -18
- data/test/test_version.rb +13 -0
- data/test/windows/test_append.rb +59 -0
- data/test/windows/test_aref.rb +37 -0
- data/test/windows/test_ascend.rb +51 -0
- data/test/windows/test_children.rb +42 -0
- data/test/windows/test_clean.rb +50 -0
- data/test/windows/test_clean_bang.rb +50 -0
- data/test/windows/test_constructor.rb +48 -0
- data/test/windows/test_descend.rb +51 -0
- data/test/windows/test_drive_number.rb +58 -0
- data/test/windows/test_each.rb +28 -0
- data/test/windows/test_facade.rb +64 -0
- data/test/windows/test_is_absolute.rb +47 -0
- data/test/windows/test_is_relative.rb +46 -0
- data/test/windows/test_is_root.rb +44 -0
- data/test/windows/test_is_unc.rb +51 -0
- data/test/windows/test_long_path.rb +41 -0
- data/test/windows/test_misc.rb +33 -0
- data/test/windows/test_parent.rb +37 -0
- data/test/windows/test_pstrip.rb +42 -0
- data/test/windows/test_pstrip_bang.rb +46 -0
- data/test/windows/test_realpath.rb +39 -0
- data/test/windows/test_relative_path_from.rb +60 -0
- data/test/windows/test_root.rb +59 -0
- data/test/windows/test_short_path.rb +41 -0
- data/test/windows/test_to_a.rb +46 -0
- data/test/windows/test_undecorate.rb +47 -0
- data/test/windows/test_undecorate_bang.rb +53 -0
- metadata +137 -82
- data/test/test_pathname_windows.rb +0 -678
data/pathname2.gemspec
CHANGED
@@ -2,29 +2,26 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'pathname2'
|
5
|
-
spec.version = '1.
|
5
|
+
spec.version = '1.7.1'
|
6
6
|
spec.author = 'Daniel J. Berger'
|
7
7
|
spec.license = 'Artistic 2.0'
|
8
8
|
spec.email = 'djberg96@gmail.com'
|
9
|
-
spec.homepage = '
|
9
|
+
spec.homepage = 'https://github.com/djberg96/pathname2'
|
10
10
|
spec.summary = 'An alternate implementation of the Pathname class'
|
11
11
|
spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
|
12
12
|
|
13
13
|
spec.extra_rdoc_files = ['README', 'CHANGES', 'MANIFEST']
|
14
|
-
spec.rubyforge_project = 'shards'
|
15
14
|
|
16
15
|
spec.add_dependency('facade')
|
17
16
|
spec.add_development_dependency('test-unit')
|
17
|
+
spec.add_development_dependency('rake')
|
18
18
|
|
19
19
|
if File::ALT_SEPARATOR
|
20
|
-
spec.
|
21
|
-
spec.
|
22
|
-
spec.platform = Gem::Platform
|
23
|
-
spec.platform.cpu = 'universal'
|
24
|
-
spec.platform.version = nil
|
25
|
-
spec.original_platform = spec.platform # See rubygems issue #147
|
20
|
+
spec.add_dependency('ffi')
|
21
|
+
spec.test_files = FileList['test/windows/*.rb', 'test/test_version.rb']
|
22
|
+
spec.platform = Gem::Platform.new(['universal', 'mingw32'])
|
26
23
|
else
|
27
|
-
spec.
|
24
|
+
spec.test_files = FileList['test/test_pathname.rb', 'test/test_version.rb']
|
28
25
|
end
|
29
26
|
|
30
27
|
spec.description = <<-EOF
|
data/test/test_pathname.rb
CHANGED
@@ -1,17 +1,13 @@
|
|
1
1
|
##############################################################################
|
2
2
|
# test_pathname.rb
|
3
3
|
#
|
4
|
-
# Test suite for the pathname
|
5
|
-
#
|
6
|
-
# 'rake test_c' to test the C version.
|
4
|
+
# Test suite for the pathname library on unixy platforms. This test suite
|
5
|
+
# should be run via the test rake task.
|
7
6
|
##############################################################################
|
8
7
|
require 'pathname2'
|
9
8
|
require 'rbconfig'
|
10
|
-
|
11
|
-
|
12
|
-
require 'rubygems'
|
13
|
-
gem 'test-unit'
|
14
|
-
require 'test/unit'
|
9
|
+
require 'test-unit'
|
10
|
+
include RbConfig
|
15
11
|
|
16
12
|
class MyPathname < Pathname; end
|
17
13
|
|
@@ -71,10 +67,6 @@ class TC_Pathname < Test::Unit::TestCase
|
|
71
67
|
}
|
72
68
|
end
|
73
69
|
|
74
|
-
def test_version
|
75
|
-
assert_equal('1.6.5', Pathname::VERSION)
|
76
|
-
end
|
77
|
-
|
78
70
|
def test_file_url_path
|
79
71
|
assert_equal('/foo bar/baz', @url_path)
|
80
72
|
end
|
@@ -222,11 +214,12 @@ class TC_Pathname < Test::Unit::TestCase
|
|
222
214
|
assert_nothing_raised{ @cur_path.children }
|
223
215
|
assert_kind_of(Array, @cur_path.children)
|
224
216
|
|
225
|
-
children = @cur_path.children.sort.reject{ |f| f.include?('
|
217
|
+
children = @cur_path.children.sort.reject{ |f| f.include?('git') || f.include?('.swp') }
|
226
218
|
assert_equal(
|
227
219
|
[
|
228
220
|
Dir.pwd + '/test_pathname.rb',
|
229
|
-
Dir.pwd + '/
|
221
|
+
Dir.pwd + '/test_version.rb',
|
222
|
+
Dir.pwd + '/windows'
|
230
223
|
],
|
231
224
|
children.sort
|
232
225
|
)
|
@@ -235,8 +228,8 @@ class TC_Pathname < Test::Unit::TestCase
|
|
235
228
|
def test_children_without_directory
|
236
229
|
assert_nothing_raised{ @cur_path.children(false) }
|
237
230
|
|
238
|
-
children = @cur_path.children(false).reject{ |f| f.include?('
|
239
|
-
assert_equal(['test_pathname.rb', '
|
231
|
+
children = @cur_path.children(false).reject{ |f| f.include?('git') || f.include?('.swp') }
|
232
|
+
assert_equal(['test_pathname.rb', 'test_version.rb', 'windows'], children.sort)
|
240
233
|
end
|
241
234
|
|
242
235
|
def test_unc
|
@@ -416,8 +409,12 @@ class TC_Pathname < Test::Unit::TestCase
|
|
416
409
|
methods = FileUtils.public_instance_methods
|
417
410
|
methods -= File.methods(false)
|
418
411
|
methods -= Dir.methods(false)
|
419
|
-
methods.delete_if{ |m| m =~ /stream/ }
|
420
|
-
methods.delete(
|
412
|
+
methods.delete_if{ |m| m.to_s =~ /stream/ }
|
413
|
+
methods.delete(:identical?)
|
414
|
+
methods.delete(:sh)
|
415
|
+
methods.delete(:ruby)
|
416
|
+
methods.delete(:safe_ln)
|
417
|
+
methods.delete(:split_all)
|
421
418
|
|
422
419
|
methods.each{ |method|
|
423
420
|
assert_respond_to(@abs_path, method.to_sym)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_version.rb
|
3
|
+
#
|
4
|
+
# Universal test file that tests for the proper version number.
|
5
|
+
########################################################################
|
6
|
+
require 'pathname2'
|
7
|
+
require 'test-unit'
|
8
|
+
|
9
|
+
class TC_Pathname_Version < Test::Unit::TestCase
|
10
|
+
test "version is set to expected value" do
|
11
|
+
assert_equal('1.7.1', Pathname::VERSION)
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_append.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#append method.
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_Append < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@abs_path = Pathname.new("C:\\foo\\bar")
|
12
|
+
@rel_path = Pathname.new("foo\\bar\\baz")
|
13
|
+
end
|
14
|
+
|
15
|
+
def assert_pathname_plus(a, b, c)
|
16
|
+
a = Pathname.new(a)
|
17
|
+
b = Pathname.new(b)
|
18
|
+
c = Pathname.new(c)
|
19
|
+
assert_equal(a, b + c)
|
20
|
+
end
|
21
|
+
|
22
|
+
test "appending a string to an absolute path works as expected" do
|
23
|
+
assert_pathname_plus("C:\\a\\b", "C:\\a", "b")
|
24
|
+
assert_pathname_plus("C:\\b", "a", "C:\\b")
|
25
|
+
assert_pathname_plus("a\\b", "a", "b")
|
26
|
+
assert_pathname_plus("C:\\b", "C:\\a", "..\\b")
|
27
|
+
assert_pathname_plus("C:\\a\\b", "C:\\a\\.", "\\b")
|
28
|
+
assert_pathname_plus("C:\\a\\b.txt", "C:\\a", "b.txt")
|
29
|
+
end
|
30
|
+
|
31
|
+
test "appending a string to a UNC path works as expected" do
|
32
|
+
assert_pathname_plus("\\\\foo\\bar", "\\\\foo", "bar")
|
33
|
+
assert_pathname_plus("\\\\foo", "\\\\", "foo")
|
34
|
+
assert_pathname_plus("\\\\", "\\\\", "")
|
35
|
+
assert_pathname_plus("\\\\foo\\baz", "\\\\foo\\bar", "\\..\\baz")
|
36
|
+
assert_pathname_plus("\\\\", "\\\\", "..\\..\\..\\..")
|
37
|
+
end
|
38
|
+
|
39
|
+
test "appending a plain string to a path works as expected" do
|
40
|
+
assert_nothing_raised{ @abs_path + "bar" }
|
41
|
+
assert_equal('C:\foo\bar\baz', @abs_path + 'baz')
|
42
|
+
assert_equal('C:\foo\bar', @abs_path)
|
43
|
+
end
|
44
|
+
|
45
|
+
test "appending an absolute path results in that absolute path" do
|
46
|
+
assert_pathname_plus('C:\foo\bar', @rel_path, @abs_path)
|
47
|
+
end
|
48
|
+
|
49
|
+
test "neither receiver nor argument are modified" do
|
50
|
+
assert_nothing_raised{ @abs_path + @rel_path }
|
51
|
+
assert_equal('C:\foo\bar\foo\bar\baz', @abs_path + @rel_path)
|
52
|
+
assert_equal('C:\foo\bar', @abs_path)
|
53
|
+
assert_equal('foo\bar\baz', @rel_path)
|
54
|
+
end
|
55
|
+
|
56
|
+
def teardown
|
57
|
+
@path = nil
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_aref.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#[] method.
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_Aref < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@path = Pathname.new("C:/Program Files/Windows NT/Accessories")
|
12
|
+
end
|
13
|
+
|
14
|
+
test "[] with index works as expected" do
|
15
|
+
assert_equal("C:", @path[0])
|
16
|
+
assert_equal("Program Files", @path[1])
|
17
|
+
assert_equal("Accessories", @path[-1])
|
18
|
+
assert_nil(@path[10])
|
19
|
+
end
|
20
|
+
|
21
|
+
test "[] with range argument works as expected" do
|
22
|
+
assert_equal("C:\\Program Files", @path[0..1])
|
23
|
+
assert_equal("C:\\Program Files\\Windows NT", @path[0..2])
|
24
|
+
assert_equal("Program Files\\Windows NT", @path[1..2])
|
25
|
+
#assert_equal(@path, @path[0..-1]) # TODO: Spews tons of warnings
|
26
|
+
end
|
27
|
+
|
28
|
+
test "[] with index and length works as expected" do
|
29
|
+
assert_equal("C:", @path[0,1])
|
30
|
+
assert_equal("C:\\Program Files", @path[0,2])
|
31
|
+
assert_equal("Program Files\\Windows NT", @path[1,2])
|
32
|
+
end
|
33
|
+
|
34
|
+
def teardown
|
35
|
+
@path = nil
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_ascend.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#ascend method.
|
5
|
+
########################################################################
|
6
|
+
require 'pathname2'
|
7
|
+
require 'test-unit'
|
8
|
+
|
9
|
+
class TC_Pathname_Ascend < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@path = Pathname.new("C:\\foo\\bar\\baz")
|
12
|
+
end
|
13
|
+
|
14
|
+
test "ascend basic functionality" do
|
15
|
+
assert_respond_to(@path, :ascend)
|
16
|
+
assert_nothing_raised{ @path.ascend{} }
|
17
|
+
end
|
18
|
+
|
19
|
+
test "ascend works as expected on a standard absolute path" do
|
20
|
+
array = []
|
21
|
+
@path.ascend{ |e| array << e }
|
22
|
+
assert_equal('C:\foo\bar\baz', array[0])
|
23
|
+
assert_equal('C:\foo\bar', array[1])
|
24
|
+
assert_equal('C:\foo', array[2])
|
25
|
+
assert_equal('C:', array[3])
|
26
|
+
end
|
27
|
+
|
28
|
+
test "ascend works as expected on a UNC path" do
|
29
|
+
array = []
|
30
|
+
Pathname.new('//foo/bar/baz').ascend{ |e| array << e }
|
31
|
+
assert_equal("\\\\foo\\bar\\baz", array[0])
|
32
|
+
assert_equal("\\\\foo\\bar", array[1])
|
33
|
+
end
|
34
|
+
|
35
|
+
test "ascend works as expected on a relative path" do
|
36
|
+
array = []
|
37
|
+
Pathname.new('foo/bar/baz').ascend{ |e| array << e }
|
38
|
+
assert_equal('foo\bar\baz', array[0])
|
39
|
+
assert_equal('foo\bar', array[1])
|
40
|
+
assert_equal('foo', array[2])
|
41
|
+
end
|
42
|
+
|
43
|
+
test "ascend does not modify the receiver" do
|
44
|
+
@path.ascend{}
|
45
|
+
assert_equal('C:\foo\bar\baz', @path)
|
46
|
+
end
|
47
|
+
|
48
|
+
def teardown
|
49
|
+
@path = nil
|
50
|
+
end
|
51
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_children.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#children method.
|
5
|
+
########################################################################
|
6
|
+
require 'pathname2'
|
7
|
+
require 'test-unit'
|
8
|
+
|
9
|
+
class TC_Pathname_Children < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@dir = 'foo'
|
12
|
+
@path = Pathname.new(File.dirname(File.dirname(__FILE__)))
|
13
|
+
|
14
|
+
Dir.mkdir(@dir)
|
15
|
+
Dir.chdir(@dir){
|
16
|
+
FileUtils.touch('alpha')
|
17
|
+
FileUtils.touch('beta')
|
18
|
+
FileUtils.touch('gamma')
|
19
|
+
}
|
20
|
+
end
|
21
|
+
|
22
|
+
test "children basic functionality" do
|
23
|
+
assert_respond_to(@path, :children)
|
24
|
+
assert_nothing_raised{ @path.children{} }
|
25
|
+
assert_kind_of(Array, @path.children)
|
26
|
+
end
|
27
|
+
|
28
|
+
test "children method returns expected results" do
|
29
|
+
path = Pathname.new(@dir)
|
30
|
+
assert_equal(%w[foo\alpha foo\beta foo\gamma], path.children)
|
31
|
+
end
|
32
|
+
|
33
|
+
test "each result of the children method is a Pathname object" do
|
34
|
+
path = Pathname.new(@dir)
|
35
|
+
assert_kind_of(Pathname, path.children.first)
|
36
|
+
end
|
37
|
+
|
38
|
+
def teardown
|
39
|
+
FileUtils.rm_rf(@dir) if File.exist?(@dir)
|
40
|
+
@path = nil
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_clean.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#clean method.
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_Clean < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@path = Pathname.new("C:\\foo\\..\\bar\\.\\baz")
|
12
|
+
end
|
13
|
+
|
14
|
+
test "clean basic functionality" do
|
15
|
+
assert_respond_to(@path, :clean)
|
16
|
+
assert_nothing_raised{ @path.clean }
|
17
|
+
assert_kind_of(Pathname, @path.clean)
|
18
|
+
end
|
19
|
+
|
20
|
+
test "clean returns expected results for unclean paths" do
|
21
|
+
assert_equal("C:\\a\\c", Pathname.new("C:\\a\\.\\b\\..\\c").clean)
|
22
|
+
assert_equal("C:\\a", Pathname.new("C:\\.\\a").clean)
|
23
|
+
assert_equal("C:\\a\\b", Pathname.new("C:\\a\\.\\b").clean)
|
24
|
+
assert_equal("C:\\b", Pathname.new("C:\\a\\..\\b").clean)
|
25
|
+
assert_equal("C:\\a", Pathname.new("C:\\a\\.").clean)
|
26
|
+
assert_equal("C:\\d", Pathname.new("C:\\..\\..\\..\\d").clean)
|
27
|
+
end
|
28
|
+
|
29
|
+
test "clean returns already clean paths unmodified" do
|
30
|
+
assert_equal("C:\\", Pathname.new("C:\\").clean)
|
31
|
+
assert_equal("C:\\a", Pathname.new("C:\\a").clean)
|
32
|
+
assert_equal("C:\\a\\", Pathname.new("C:\\a\\").clean)
|
33
|
+
assert_equal("\\\\foo\\bar", Pathname.new("\\\\foo\\bar").clean)
|
34
|
+
assert_equal("a", Pathname.new("a").clean)
|
35
|
+
end
|
36
|
+
|
37
|
+
test "clean returns a slash for . and .." do
|
38
|
+
assert_equal("\\", Pathname.new(".").clean)
|
39
|
+
assert_equal("\\", Pathname.new("..").clean)
|
40
|
+
end
|
41
|
+
|
42
|
+
test "clean does not modify receiver" do
|
43
|
+
@path.clean
|
44
|
+
assert_equal("C:\\foo\\..\\bar\\.\\baz", @path)
|
45
|
+
end
|
46
|
+
|
47
|
+
def teardown
|
48
|
+
@path = nil
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_clean_bang.rb
|
3
|
+
#
|
4
|
+
# Test suite for the Pathname#clean! method.
|
5
|
+
########################################################################
|
6
|
+
require 'test-unit'
|
7
|
+
require 'pathname2'
|
8
|
+
|
9
|
+
class TC_Pathname_CleanBang < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@path = Pathname.new("C:\\foo\\..\\bar\\.\\baz")
|
12
|
+
end
|
13
|
+
|
14
|
+
test "clean basic functionality" do
|
15
|
+
assert_respond_to(@path, :clean!)
|
16
|
+
assert_nothing_raised{ @path.clean! }
|
17
|
+
assert_kind_of(Pathname, @path.clean!)
|
18
|
+
end
|
19
|
+
|
20
|
+
test "clean returns expected results for unclean paths" do
|
21
|
+
assert_equal("C:\\a\\c", Pathname.new("C:\\a\\.\\b\\..\\c").clean!)
|
22
|
+
assert_equal("C:\\a", Pathname.new("C:\\.\\a").clean!)
|
23
|
+
assert_equal("C:\\a\\b", Pathname.new("C:\\a\\.\\b").clean!)
|
24
|
+
assert_equal("C:\\b", Pathname.new("C:\\a\\..\\b").clean!)
|
25
|
+
assert_equal("C:\\a", Pathname.new("C:\\a\\.").clean!)
|
26
|
+
assert_equal("C:\\d", Pathname.new("C:\\..\\..\\..\\d").clean!)
|
27
|
+
end
|
28
|
+
|
29
|
+
test "clean returns already clean paths unmodified" do
|
30
|
+
assert_equal("C:\\", Pathname.new("C:\\").clean!)
|
31
|
+
assert_equal("C:\\a", Pathname.new("C:\\a").clean!)
|
32
|
+
assert_equal("C:\\a\\", Pathname.new("C:\\a\\").clean!)
|
33
|
+
assert_equal("\\\\foo\\bar", Pathname.new("\\\\foo\\bar").clean!)
|
34
|
+
assert_equal("a", Pathname.new("a").clean!)
|
35
|
+
end
|
36
|
+
|
37
|
+
test "clean returns a slash for . and .." do
|
38
|
+
assert_equal("\\", Pathname.new(".").clean!)
|
39
|
+
assert_equal("\\", Pathname.new("..").clean!)
|
40
|
+
end
|
41
|
+
|
42
|
+
test "clean! modifies receiver" do
|
43
|
+
@path.clean!
|
44
|
+
assert_equal("C:\\bar\\baz", @path)
|
45
|
+
end
|
46
|
+
|
47
|
+
def teardown
|
48
|
+
@path = nil
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
########################################################################
|
2
|
+
# test_constructor.rb
|
3
|
+
#
|
4
|
+
# Various tests for the Pathname.new method.
|
5
|
+
########################################################################
|
6
|
+
require 'pathname2'
|
7
|
+
require 'test-unit'
|
8
|
+
|
9
|
+
class TC_Pathname_Constructor < Test::Unit::TestCase
|
10
|
+
def setup
|
11
|
+
@abs_path = "C:/Users"
|
12
|
+
@rel_path = "Users"
|
13
|
+
@url_path = "file:///C:/Documents%20and%20Settings"
|
14
|
+
end
|
15
|
+
|
16
|
+
test "constructor handles absolute paths properly" do
|
17
|
+
assert_nothing_raised{ Pathname.new(@abs_path) }
|
18
|
+
assert_equal("C:\\Users", Pathname.new(@abs_path).to_s)
|
19
|
+
end
|
20
|
+
|
21
|
+
test "constructor handles relative paths properly" do
|
22
|
+
assert_nothing_raised{ Pathname.new(@rel_path) }
|
23
|
+
assert_equal("Users", Pathname.new(@rel_path).to_s)
|
24
|
+
end
|
25
|
+
|
26
|
+
test "constructor handles file URL's properly" do
|
27
|
+
assert_nothing_raised{ Pathname.new(@url_path) }
|
28
|
+
assert_equal("C:\\Documents and Settings", Pathname.new(@url_path).to_s)
|
29
|
+
end
|
30
|
+
|
31
|
+
test "constructor returns a Pathname object" do
|
32
|
+
assert_kind_of(Pathname, Pathname.new(@abs_path))
|
33
|
+
end
|
34
|
+
|
35
|
+
test "constructor handles frozen arguments without issue" do
|
36
|
+
assert_nothing_raised{ Pathname.new(@abs_path.freeze) }
|
37
|
+
end
|
38
|
+
|
39
|
+
test "constructor raises an error if string argument is too long" do
|
40
|
+
assert_raise(ArgumentError){ Pathname.new("foo" * 1000) }
|
41
|
+
end
|
42
|
+
|
43
|
+
def teardown
|
44
|
+
@url_path = nil
|
45
|
+
@rel_path = nil
|
46
|
+
@abs_path = nil
|
47
|
+
end
|
48
|
+
end
|