summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-10-17 14:42:38 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-10-17 18:51:51 +0900
commite169ad93f44e1944ecf7bb65133fd34e8b868ea8 (patch)
tree82c3badab1865e5036dd054dcb15b7fdc3f7c61e /test
parent2a261909cc6d0767d584c0555a1c6594aacf567a (diff)
Fixed File.extname at a name ending with a dot
File.extname now returns a dot string at a name ending with a dot. [Bug #15267]
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/2565
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_file_exhaustive.rb10
-rw-r--r--test/ruby/test_path.rb8
2 files changed, 12 insertions, 6 deletions
diff --git a/test/ruby/test_file_exhaustive.rb b/test/ruby/test_file_exhaustive.rb
index 6b80b82389..4bb5479303 100644
--- a/test/ruby/test_file_exhaustive.rb
+++ b/test/ruby/test_file_exhaustive.rb
@@ -1308,21 +1308,23 @@ class TestFileExhaustive < Test::Unit::TestCase
assert_equal(".test", File.extname(regular_file))
assert_equal(".test", File.extname(utf8_file))
prefixes = ["", "/", ".", "/.", "bar/.", "/bar/."]
- infixes = ["", " ", "."]
+ infixes = ["", " "]
infixes2 = infixes + [".ext "]
appendixes = [""]
if NTFS
appendixes << " " << "." << "::$DATA" << "::$DATA.bar"
+ else
+ appendixes << [".", "."]
end
prefixes.each do |prefix|
- appendixes.each do |appendix|
+ appendixes.each do |appendix, ext = ""|
infixes.each do |infix|
path = "#{prefix}foo#{infix}#{appendix}"
- assert_equal("", File.extname(path), "File.extname(#{path.inspect})")
+ assert_equal(ext, File.extname(path), "File.extname(#{path.inspect})")
end
infixes2.each do |infix|
path = "#{prefix}foo#{infix}.ext#{appendix}"
- assert_equal(".ext", File.extname(path), "File.extname(#{path.inspect})")
+ assert_equal(ext.empty? ? ".ext" : appendix, File.extname(path), "File.extname(#{path.inspect})")
end
end
end
diff --git a/test/ruby/test_path.rb b/test/ruby/test_path.rb
index 6af4fb6ac0..b35e942a2a 100644
--- a/test/ruby/test_path.rb
+++ b/test/ruby/test_path.rb
@@ -236,10 +236,14 @@ class TestPath < Test::Unit::TestCase
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 = ''
+ ext = '.'
end
assert_equal(ext, File.extname('a.rb.'))
- assert_equal('', File.extname('a.'))
+ if /mswin|bccwin|mingw/ =~ RUBY_PLATFORM
+ # trailing spaces and dots are ignored on NTFS.
+ ext = ''
+ end
+ assert_equal(ext, File.extname('a.'))
assert_equal('', File.extname('.x'))
assert_equal('', File.extname('..x'))
end