From 34b8d422bd46d3edbe5dc0dea395067d8a774486 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Mon, 9 May 2011 22:28:56 -0500 Subject: [PATCH] Make Language#find_by_name case insensitive --- lib/linguist/language.rb | 4 ++-- test/test_language.rb | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/linguist/language.rb b/lib/linguist/language.rb index 8a098c8d..66606b9a 100644 --- a/lib/linguist/language.rb +++ b/lib/linguist/language.rb @@ -7,13 +7,13 @@ module Linguist def self.create(name) language = new(name) - @name_index[language.name] = language + @name_index[language.name.downcase] = language language end def self.find_by_name(name) - @name_index[name] + @name_index[name.downcase] end def self.[](name) diff --git a/test/test_language.rb b/test/test_language.rb index d97faf29..f2f7138d 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -5,6 +5,12 @@ require 'test/unit' class TestLanguage < Test::Unit::TestCase include Linguist + def test_find_by_name + assert_equal "Ruby", Language.find_by_name('Ruby').name + assert_equal "Ruby", Language.find_by_name('ruby').name + assert_equal "Ruby", Language.find_by_name('RUBY').name + end + def test_name assert_equal "Perl", Language['Perl'].name assert_equal "Python", Language['Python'].name