2003-09-04 16:18:59 +00:00
|
|
|
require 'test/unit'
|
|
|
|
|
|
|
|
$KCODE = 'none'
|
|
|
|
|
|
|
|
class TestPath < Test::Unit::TestCase
|
|
|
|
def test_path
|
2003-09-05 11:28:27 +00:00
|
|
|
assert_equal(File.basename("a"), "a")
|
|
|
|
assert_equal(File.basename("a/b"), "b")
|
|
|
|
assert_equal(File.basename("a/b/"), "b")
|
|
|
|
assert_equal(File.basename("/"), "/")
|
|
|
|
assert_equal(File.basename("//"), "/")
|
|
|
|
assert_equal(File.basename("///"), "/")
|
|
|
|
assert_equal(File.basename("a/b////"), "b")
|
|
|
|
assert_equal(File.basename("a.rb", ".rb"), "a")
|
|
|
|
assert_equal(File.basename("a.rb///", ".rb"), "a")
|
|
|
|
assert_equal(File.basename("a.rb///", ".*"), "a")
|
|
|
|
assert_equal(File.basename("a.rb///", ".c"), "a.rb")
|
|
|
|
assert_equal(File.dirname("a"), ".")
|
|
|
|
assert_equal(File.dirname("/"), "/")
|
|
|
|
assert_equal(File.dirname("/a"), "/")
|
|
|
|
assert_equal(File.dirname("a/b"), "a")
|
|
|
|
assert_equal(File.dirname("a/b/c"), "a/b")
|
|
|
|
assert_equal(File.dirname("/a/b/c"), "/a/b")
|
|
|
|
assert_equal(File.dirname("/a/b/"), "/a")
|
|
|
|
assert_equal(File.dirname("/a/b///"), "/a")
|
2003-09-04 16:18:59 +00:00
|
|
|
case Dir.pwd
|
|
|
|
when %r'\A\w:'
|
|
|
|
assert(/\A\w:\/\z/ =~ File.expand_path(".", "/"))
|
|
|
|
assert(/\A\w:\/a\z/ =~ File.expand_path("a", "/"))
|
|
|
|
dosish = true
|
|
|
|
when %r'\A//'
|
|
|
|
assert(%r'\A//[^/]+/[^/]+\z' =~ File.expand_path(".", "/"))
|
|
|
|
assert(%r'\A//[^/]+/[^/]+/a\z' =~ File.expand_path(".", "/"))
|
|
|
|
dosish = true
|
|
|
|
else
|
2003-09-05 11:28:27 +00:00
|
|
|
assert_equal(File.expand_path(".", "/"), "/")
|
|
|
|
assert_equal(File.expand_path("sub", "/"), "/sub")
|
2003-09-04 16:18:59 +00:00
|
|
|
end
|
|
|
|
if dosish
|
2003-09-05 11:28:27 +00:00
|
|
|
assert_equal(File.expand_path("/", "//machine/share/sub"), "//machine/share")
|
|
|
|
assert_equal(File.expand_path("/dir", "//machine/share/sub"), "//machine/share/dir")
|
|
|
|
assert_equal(File.expand_path("/", "z:/sub"), "z:/")
|
|
|
|
assert_equal(File.expand_path("/dir", "z:/sub"), "z:/dir")
|
2003-09-04 16:18:59 +00:00
|
|
|
end
|
2003-09-05 11:28:27 +00:00
|
|
|
assert_equal(File.expand_path(".", "//"), "//")
|
|
|
|
assert_equal(File.expand_path("sub", "//"), "//sub")
|
2003-09-04 16:18:59 +00:00
|
|
|
end
|
|
|
|
end
|