mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Fix failing edges on leading commas in args (#3905)
This commit is contained in:
		| @@ -110,7 +110,7 @@ module Linguist | |||||||
|     # Returns the Language or nil if none was found. |     # Returns the Language or nil if none was found. | ||||||
|     def self.find_by_name(name) |     def self.find_by_name(name) | ||||||
|       return nil if !name.is_a?(String) || name.to_s.empty? |       return nil if !name.is_a?(String) || name.to_s.empty? | ||||||
|       name && (@name_index[name.downcase] || @name_index[name.split(',').first.downcase]) |       name && (@name_index[name.downcase] || @name_index[name.split(',', 2).first.downcase]) | ||||||
|     end |     end | ||||||
|  |  | ||||||
|     # Public: Look up Language by one of its aliases. |     # Public: Look up Language by one of its aliases. | ||||||
| @@ -125,7 +125,7 @@ module Linguist | |||||||
|     # Returns the Language or nil if none was found. |     # Returns the Language or nil if none was found. | ||||||
|     def self.find_by_alias(name) |     def self.find_by_alias(name) | ||||||
|       return nil if !name.is_a?(String) || name.to_s.empty? |       return nil if !name.is_a?(String) || name.to_s.empty? | ||||||
|       name && (@alias_index[name.downcase] || @alias_index[name.split(',').first.downcase]) |       name && (@alias_index[name.downcase] || @alias_index[name.split(',', 2).first.downcase]) | ||||||
|     end |     end | ||||||
|  |  | ||||||
|     # Public: Look up Languages by filename. |     # Public: Look up Languages by filename. | ||||||
| @@ -219,10 +219,7 @@ module Linguist | |||||||
|       lang = @index[name.downcase] |       lang = @index[name.downcase] | ||||||
|       return lang if lang |       return lang if lang | ||||||
|  |  | ||||||
|       name = name.split(',').first |       @index[name.split(',', 2).first.downcase] | ||||||
|       return nil if name.to_s.empty? |  | ||||||
|  |  | ||||||
|       @index[name.downcase] |  | ||||||
|     end |     end | ||||||
|  |  | ||||||
|     # Public: A List of popular languages |     # Public: A List of popular languages | ||||||
|   | |||||||
| @@ -470,5 +470,7 @@ class TestLanguage < Minitest::Test | |||||||
|  |  | ||||||
|   def test_non_crash_on_comma |   def test_non_crash_on_comma | ||||||
|     assert_nil Language[','] |     assert_nil Language[','] | ||||||
|  |     assert_nil Language.find_by_name(',') | ||||||
|  |     assert_nil Language.find_by_alias(',') | ||||||
|   end |   end | ||||||
| end | end | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user