From 5d09fb67ddc644db954870fc9d157e8d78f223a5 Mon Sep 17 00:00:00 2001 From: Yuki Izumi Date: Tue, 10 Jan 2017 11:44:24 +1100 Subject: [PATCH] Allow for split(",") returning nil (#3424) --- lib/linguist/language.rb | 9 ++++++++- test/test_language.rb | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/linguist/language.rb b/lib/linguist/language.rb index b48c4a1d..ae7120cd 100644 --- a/lib/linguist/language.rb +++ b/lib/linguist/language.rb @@ -215,7 +215,14 @@ module Linguist # Returns the Language or nil if none was found. def self.[](name) return nil if name.to_s.empty? - name && (@index[name.downcase] || @index[name.split(',').first.downcase]) + + lang = @index[name.downcase] + return lang if lang + + name = name.split(',').first + return nil if name.to_s.empty? + + @index[name.downcase] end # Public: A List of popular languages diff --git a/test/test_language.rb b/test/test_language.rb index ea6230f9..b8ad306c 100644 --- a/test/test_language.rb +++ b/test/test_language.rb @@ -460,4 +460,8 @@ class TestLanguage < Minitest::Test assert !language.color, "Unused colour assigned to #{language.name}" end end + + def test_non_crash_on_comma + assert_nil Language[','] + end end