summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-24 07:35:38 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-07-24 07:35:38 +0000
commit4e58f21f798861453b08c281fae2ec3a57396ba5 (patch)
treeef2f5c13c66348678aade546cbaad359e2391355
parenta34343b3a3659101ad1d1704b2c004d26f7c93b4 (diff)
Add tests for `File.extname`
* file.c (rb_file_s_extname): [DOC] add an example. * test/ruby/test_path.rb (test_extname): add tests. [Fix GH-978] * path starts with dot ('.a.rb') * path includes dir name ('a/b/d/test.rb') * path includes dir name and dir name starts with dot ('.a/b/d/test.rb') git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog10
-rw-r--r--file.c1
-rw-r--r--test/ruby/test_path.rb3
3 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d5fd71cb25..9a0d44d5aa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+Fri Jul 24 16:35:34 2015 yui-knk <spiketeika@gmail.com>
+
+ * file.c (rb_file_s_extname): [DOC] add an example.
+
+ * test/ruby/test_path.rb (test_extname): add tests. [Fix GH-978]
+ * path starts with dot ('.a.rb')
+ * path includes dir name ('a/b/d/test.rb')
+ * path includes dir name and dir name starts with dot
+ ('.a/b/d/test.rb')
+
Thu Jul 23 18:50:43 2015 Koichi Sasada <ko1@atdot.net>
* vm_core.h: constify rb_iseq_constant_body::local_table and
diff --git a/file.c b/file.c
index 1adbe76802..48c978ed36 100644
--- a/file.c
+++ b/file.c
@@ -4237,6 +4237,7 @@ ruby_enc_find_extname(const char *name, long *len, rb_encoding *enc)
*
* File.extname("test.rb") #=> ".rb"
* File.extname("a/b/d/test.rb") #=> ".rb"
+ * File.extname(".a/b/d/test.rb") #=> ".rb"
* File.extname("foo.") #=> ""
* File.extname("test") #=> ""
* File.extname(".profile") #=> ""
diff --git a/test/ruby/test_path.rb b/test/ruby/test_path.rb
index 2db7be0b76..b604a763f1 100644
--- a/test/ruby/test_path.rb
+++ b/test/ruby/test_path.rb
@@ -230,6 +230,9 @@ class TestPath < Test::Unit::TestCase
assert_equal('', File.extname('a'))
ext = '.rb'
assert_equal(ext, File.extname('a.rb'))
+ assert_equal(ext, File.extname('.a.rb'))
+ assert_equal(ext, File.extname('a/b/d/test.rb'))
+ assert_equal(ext, File.extname('.a/b/d/test.rb'))
unless /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
# trailing spaces and dots are ignored on NTFS.
ext = ''