Fix error with filenames ending with a dot (#3349)

The second negative argument to split instructs it to
preserve null fields in the returned array
This commit is contained in:
Paul Chaignon
2016-11-29 16:42:50 +01:00
committed by Brandon Black
parent 829eea0139
commit 1d2ec4dbc3
2 changed files with 2 additions and 1 deletions

View File

@@ -63,7 +63,7 @@ module Linguist
# #
# Returns an Array # Returns an Array
def extensions def extensions
_, *segments = name.downcase.split(".") _, *segments = name.downcase.split(".", -1)
segments.map.with_index do |segment, index| segments.map.with_index do |segment, index|
"." + segments[index..-1].join(".") "." + segments[index..-1].join(".")

View File

@@ -235,6 +235,7 @@ class TestLanguage < Minitest::Test
assert_equal [Language['Clojure']], Language.find_by_filename('riemann.config') assert_equal [Language['Clojure']], Language.find_by_filename('riemann.config')
assert_equal [Language['HTML+Django']], Language.find_by_filename('index.jinja') assert_equal [Language['HTML+Django']], Language.find_by_filename('index.jinja')
assert_equal [Language['Chapel']], Language.find_by_filename('examples/hello.chpl') assert_equal [Language['Chapel']], Language.find_by_filename('examples/hello.chpl')
assert_equal [], Language.find_by_filename('F.I.L.E.')
end end
def test_find_by_interpreter def test_find_by_interpreter