ruby--ruby/test/ruby/test_path.rb

49 lines
1.8 KiB
Ruby
Raw Normal View History

require 'test/unit'
$KCODE = 'none'
class TestPath < Test::Unit::TestCase
def test_path
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")
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
assert_equal(File.expand_path(".", "/"), "/")
assert_equal(File.expand_path("sub", "/"), "/sub")
end
if dosish
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")
end
assert_equal(File.expand_path(".", "//"), "//")
assert_equal(File.expand_path("sub", "//"), "//sub")
end
end