From a75a57eb5e5fbe87e8443e09d6aaaa03a8cfd976 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Sat, 18 Jun 2011 20:29:47 -0500 Subject: [PATCH] Make Language name finder case sensitive --- lib/linguist/language.rb | 16 ++++++++-------- test/test_language.rb | 4 ---- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/lib/linguist/language.rb b/lib/linguist/language.rb index 68b83188..335b49b8 100644 --- a/lib/linguist/language.rb +++ b/lib/linguist/language.rb @@ -25,12 +25,12 @@ module Linguist @languages << language # All Language names should be unique. Warn if there is a duplicate. - if @name_index.key?(language.name.downcase) + if @name_index.key?(language.name) warn "Duplicate language name: #{language.name}" end - # Case-insensitive language name index - @name_index[language.name.downcase] = language + # Language name index + @name_index[language.name] = language language.aliases.each do |name| # All Language aliases should be unique. Warn if there is a duplicate. @@ -75,7 +75,7 @@ module Linguist # Public: Look up Language by its proper name. # - # name - The case-insensitive String name of the Language + # name - The String name of the Language # # Examples # @@ -84,12 +84,12 @@ module Linguist # # Returns the Language or nil if none was found. def self.find_by_name(name) - @name_index[name.downcase] + @name_index[name] end # Public: Look up Language by one of its aliases. # - # name - A case-sensitive String alias of the Language + # name - A String alias of the Language # # Examples # @@ -98,7 +98,7 @@ module Linguist # # Returns the Lexer or nil if none was found. def self.find_by_alias(name) - @alias_index[name.downcase] + @alias_index[name] end # Public: Look up Language by extension. @@ -132,7 +132,7 @@ module Linguist # Public: Look up Language by its name or lexer. # - # name - The case-insensitive String name of the Language + # name - The String name of the Language # # Examples # diff --git a/test/test_language.rb b/test/test_language.rb index e8db7b8d..cd016ef2 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -262,8 +262,6 @@ class TestLanguage < Test::Unit::TestCase def test_find_by_name ruby = Language['Ruby'] assert_equal ruby, Language.find_by_name('Ruby') - assert_equal ruby, Language.find_by_name('ruby') - assert_equal ruby, Language.find_by_name('RUBY') end def test_find_all_by_name @@ -316,14 +314,12 @@ class TestLanguage < Test::Unit::TestCase 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