From 3180c5d554a08a90713bb8f770080323a166fc7f Mon Sep 17 00:00:00 2001 From: Kevin Butler Date: Wed, 10 Jun 2015 15:37:31 +0100 Subject: [PATCH] Allow delimiting by comma in the language name --- lib/linguist/language.rb | 6 +++--- test/test_language.rb | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/linguist/language.rb b/lib/linguist/language.rb index d2d44466..05c5f802 100644 --- a/lib/linguist/language.rb +++ b/lib/linguist/language.rb @@ -150,7 +150,7 @@ module Linguist # # Returns the Language or nil if none was found. def self.find_by_name(name) - name && @name_index[name.downcase] + name && (@name_index[name.downcase] || @name_index[name.split(',').first.downcase]) end # Public: Look up Language by one of its aliases. @@ -164,7 +164,7 @@ module Linguist # # Returns the Language or nil if none was found. def self.find_by_alias(name) - name && @alias_index[name.downcase] + name && (@alias_index[name.downcase] || @alias_index[name.split(',').first.downcase]) end # Public: Look up Languages by filename. @@ -240,7 +240,7 @@ module Linguist # # Returns the Language or nil if none was found. def self.[](name) - name && @index[name.downcase] + name && (@index[name.downcase] || @index[name.split(',').first.downcase]) end # Public: A List of popular languages diff --git a/test/test_language.rb b/test/test_language.rb index 3c204c0a..3d1fd66c 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -263,6 +263,18 @@ class TestLanguage < Minitest::Test assert_equal 'AGS Script', Language.find_by_alias('AGS').name end + def test_find_ignores_comma + assert_equal 'Rust', Language['rust,no_run'].name + end + + def test_find_by_name_ignores_comma + assert_equal Language['Rust'], Language.find_by_name('rust,no_run') + end + + def test_find_by_alias_ignores_comma + assert_equal Language['Rust'], Language.find_by_alias('rust,no_run') + end + def test_name assert_equal 'Perl', Language['Perl'].name assert_equal 'Python', Language['Python'].name