summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-03-25 14:42:36 +0000
committerkazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-03-25 14:42:36 +0000
commit6df5f314ac7809e2aedc22a961cf31c4e3f21d42 (patch)
treeb77d23e464ab684fbc4576b4f6cf8bcae4825927
parent602a9c1416e0519f95c502ff13110e5dd08d199d (diff)
remove unnecessary unshift
* ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary unshift. * test/pathname/test_pathname.rb (TestPathname#test_join): add tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--ext/pathname/lib/pathname.rb3
-rw-r--r--test/pathname/test_pathname.rb8
3 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ba86ab5dd5..a65c66a3ce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue Mar 25 23:32:25 2014 Kazuhiro NISHIYAMA <zn@mbf.nifty.com>
+
+ * ext/pathname/lib/pathname.rb (Pathname#join): remove unnecessary
+ unshift.
+
+ * test/pathname/test_pathname.rb (TestPathname#test_join): add tests.
+
Tue Mar 25 16:47:36 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (lex_state_e, parser_params, f_arglist, parser_yylex):
diff --git a/ext/pathname/lib/pathname.rb b/ext/pathname/lib/pathname.rb
index 20c92e23dc..bbcb5e4e2a 100644
--- a/ext/pathname/lib/pathname.rb
+++ b/ext/pathname/lib/pathname.rb
@@ -384,7 +384,6 @@ class Pathname
# #=> true
#
def join(*args)
- args.unshift self
result = args.pop
result = Pathname.new(result) unless Pathname === result
return result if result.absolute?
@@ -393,7 +392,7 @@ class Pathname
result = arg + result
return result if result.absolute?
}
- result
+ self + result
end
#
diff --git a/test/pathname/test_pathname.rb b/test/pathname/test_pathname.rb
index ed79b5b8f5..94bd8d8872 100644
--- a/test/pathname/test_pathname.rb
+++ b/test/pathname/test_pathname.rb
@@ -234,6 +234,14 @@ class TestPathname < Test::Unit::TestCase
def test_join
r = Pathname("a").join(Pathname("b"), Pathname("c"))
assert_equal(Pathname("a/b/c"), r)
+ r = Pathname("/a").join(Pathname("b"), Pathname("c"))
+ assert_equal(Pathname("/a/b/c"), r)
+ r = Pathname("/a").join(Pathname("/b"), Pathname("c"))
+ assert_equal(Pathname("/b/c"), r)
+ r = Pathname("/a").join(Pathname("/b"), Pathname("/c"))
+ assert_equal(Pathname("/c"), r)
+ r = Pathname("/a").join("/b", "/c")
+ assert_equal(Pathname("/c"), r)
end
def test_absolute