From: thomass@... (Thomas) Date: 2003-08-14T00:07:19+09:00 Subject: File.basename, dirname and split changed in 1.8.0! Why did the behaviour of File.basename, File.dirname and File.split change in ruby 1.8.0? The tests below run on 1.6.8( and 1.7.x, I think), but not on 1.8.0. Is this intentional and what the rationale? Cheers, Thomas require 'test/unit' class BaseFileTest < Test::Unit::TestCase def test_dirname assert_equal("a/b/c", File.dirname("a/b/c/d")) assert_equal(".", File.dirname("c")) assert_equal("a/b", File.dirname("a/b/")) end def test_basename assert_equal("d", File.basename("a/b/c/d")) assert_equal("c", File.basename("c")) assert_equal("", File.basename("a/b/")) end def test_split assert_equal(["a/b/c", "d"], File.split("a/b/c/d")) assert_equal(["a/b/c/d", ""], File.split("a/b/c/d/")) assert_equal([".", "a"], File.split("a")) end end