summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ext/pathname/lib/pathname.rb1
-rw-r--r--test/pathname/test_pathname.rb2
3 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ee351fa51a..cad30526c2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Wed Apr 2 11:46:29 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+
+ * ext/pathname/lib/pathname.rb (Pathname#join): Fix error with
+ empty args. Reported by ko1 via IRC.
+
+ * test/pathname/test_pathname.rb (TestPathname#test_join): Add the
+ test for above case.
+
Tue Apr 1 11:39:57 2014 James Edward Gray II <james@graysoftinc.com>
* lib/csv.rb: Symbol HeaderConverter: strip leading/trailing space.
diff --git a/ext/pathname/lib/pathname.rb b/ext/pathname/lib/pathname.rb
index bbcb5e4e2a..aa9464799d 100644
--- a/ext/pathname/lib/pathname.rb
+++ b/ext/pathname/lib/pathname.rb
@@ -384,6 +384,7 @@ class Pathname
# #=> true
#
def join(*args)
+ return self if args.empty?
result = args.pop
result = Pathname.new(result) unless Pathname === result
return result if result.absolute?
diff --git a/test/pathname/test_pathname.rb b/test/pathname/test_pathname.rb
index 94bd8d8872..4e88db754d 100644
--- a/test/pathname/test_pathname.rb
+++ b/test/pathname/test_pathname.rb
@@ -242,6 +242,8 @@ class TestPathname < Test::Unit::TestCase
assert_equal(Pathname("/c"), r)
r = Pathname("/a").join("/b", "/c")
assert_equal(Pathname("/c"), r)
+ r = Pathname("/foo/var").join()
+ assert_equal(Pathname("/foo/var"), r)
end
def test_absolute