mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
Extract a separate method for find_by_filename
This commit is contained in:
@@ -26,7 +26,11 @@ module Linguist
|
||||
@name_index[name.downcase]
|
||||
end
|
||||
|
||||
def self.find_by_extension(filename)
|
||||
def self.find_by_extension(extension)
|
||||
@extension_index[extension]
|
||||
end
|
||||
|
||||
def self.find_by_filename(filename)
|
||||
basename = File.basename(filename)
|
||||
|
||||
if basename[0] == ?.
|
||||
@@ -37,7 +41,7 @@ module Linguist
|
||||
ext = basename
|
||||
end
|
||||
|
||||
@extension_index[ext]
|
||||
find_by_extension(ext)
|
||||
end
|
||||
|
||||
attr_reader :name, :extensions
|
||||
|
||||
@@ -16,14 +16,20 @@ class TestLanguage < Test::Unit::TestCase
|
||||
ruby = Language['Ruby']
|
||||
assert_equal ruby, Language.find_by_extension('.rb')
|
||||
assert_equal ruby, Language.find_by_extension('rb')
|
||||
assert_equal ruby, Language.find_by_extension('foo.rb')
|
||||
assert_equal ruby, Language.find_by_extension('./foo.rb')
|
||||
assert_equal ruby, Language.find_by_extension('foo/bar.rb')
|
||||
assert_nil Language.find_by_extension('foo.rb')
|
||||
end
|
||||
|
||||
# TODO: Review questionable usage
|
||||
assert_equal ruby, Language.find_by_extension('Rakefile')
|
||||
assert_equal ruby, Language.find_by_extension('vendor/Rakefile')
|
||||
assert_equal ruby, Language.find_by_extension('./Rakefile')
|
||||
def test_find_by_filename
|
||||
ruby = Language['Ruby']
|
||||
assert_equal ruby, Language.find_by_filename('.rb')
|
||||
assert_equal ruby, Language.find_by_filename('rb')
|
||||
assert_equal ruby, Language.find_by_filename('foo.rb')
|
||||
assert_equal ruby, Language.find_by_filename('./foo.rb')
|
||||
assert_equal ruby, Language.find_by_filename('foo/bar.rb')
|
||||
|
||||
assert_equal ruby, Language.find_by_filename('Rakefile')
|
||||
assert_equal ruby, Language.find_by_filename('vendor/Rakefile')
|
||||
assert_equal ruby, Language.find_by_filename('./Rakefile')
|
||||
end
|
||||
|
||||
def test_name
|
||||
|
||||
Reference in New Issue
Block a user