mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-12-08 20:38:47 +00:00
Language[] finds by lexer too
This commit is contained in:
@@ -12,7 +12,7 @@ module Linguist
|
||||
@name_index[language.name.downcase] = language
|
||||
|
||||
if language.default_lexer? || !@lexer_index.key?(language.lexer)
|
||||
@lexer_index[language.lexer] = language
|
||||
@lexer_index[language.lexer.downcase] = language
|
||||
end
|
||||
|
||||
language.extensions.each do |extension|
|
||||
@@ -24,7 +24,7 @@ module Linguist
|
||||
end
|
||||
|
||||
def self.[](name)
|
||||
find_by_name(name)
|
||||
find_by_name(name) || find_by_lexer(name)
|
||||
end
|
||||
|
||||
def self.find_by_name(name)
|
||||
@@ -36,7 +36,7 @@ module Linguist
|
||||
end
|
||||
|
||||
def self.find_by_lexer(lexer)
|
||||
@lexer_index[lexer] || self['Text']
|
||||
@lexer_index[lexer.downcase] || self['Text']
|
||||
end
|
||||
|
||||
def self.popular
|
||||
|
||||
@@ -28,6 +28,20 @@ class TestLanguage < Test::Unit::TestCase
|
||||
assert_equal Language['Text'], Language.find_by_lexer('kt')
|
||||
end
|
||||
|
||||
def test_find
|
||||
assert_equal "Ruby", Language['Ruby'].name
|
||||
assert_equal "Ruby", Language['ruby'].name
|
||||
assert_equal "Ruby", Language['RUBY'].name
|
||||
assert_equal "C++", Language['C++'].name
|
||||
assert_equal "C++", Language['c++'].name
|
||||
assert_equal "C++", Language['cpp'].name
|
||||
assert_equal "C#", Language['C#'].name
|
||||
assert_equal "C#", Language['c#'].name
|
||||
assert_equal "C#", Language['csharp'].name
|
||||
assert_equal "C#", Language['CSHARP'].name
|
||||
assert_equal "Text", Language['defunkt'].name
|
||||
end
|
||||
|
||||
def test_name
|
||||
assert_equal "Perl", Language['Perl'].name
|
||||
assert_equal "Python", Language['Python'].name
|
||||
|
||||
Reference in New Issue
Block a user