mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Extract a separate method for find_by_filename
This commit is contained in:
		@@ -26,7 +26,11 @@ module Linguist
 | 
				
			|||||||
      @name_index[name.downcase]
 | 
					      @name_index[name.downcase]
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def self.find_by_extension(filename)
 | 
					    def self.find_by_extension(extension)
 | 
				
			||||||
 | 
					      @extension_index[extension]
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def self.find_by_filename(filename)
 | 
				
			||||||
      basename = File.basename(filename)
 | 
					      basename = File.basename(filename)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if basename[0] == ?.
 | 
					      if basename[0] == ?.
 | 
				
			||||||
@@ -37,7 +41,7 @@ module Linguist
 | 
				
			|||||||
        ext = basename
 | 
					        ext = basename
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      @extension_index[ext]
 | 
					      find_by_extension(ext)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    attr_reader :name, :extensions
 | 
					    attr_reader :name, :extensions
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,14 +16,20 @@ class TestLanguage < Test::Unit::TestCase
 | 
				
			|||||||
    ruby = Language['Ruby']
 | 
					    ruby = Language['Ruby']
 | 
				
			||||||
    assert_equal ruby, Language.find_by_extension('.rb')
 | 
					    assert_equal ruby, Language.find_by_extension('.rb')
 | 
				
			||||||
    assert_equal ruby, Language.find_by_extension('rb')
 | 
					    assert_equal ruby, Language.find_by_extension('rb')
 | 
				
			||||||
    assert_equal ruby, Language.find_by_extension('foo.rb')
 | 
					    assert_nil Language.find_by_extension('foo.rb')
 | 
				
			||||||
    assert_equal ruby, Language.find_by_extension('./foo.rb')
 | 
					  end
 | 
				
			||||||
    assert_equal ruby, Language.find_by_extension('foo/bar.rb')
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # TODO: Review questionable usage
 | 
					  def test_find_by_filename
 | 
				
			||||||
    assert_equal ruby, Language.find_by_extension('Rakefile')
 | 
					    ruby = Language['Ruby']
 | 
				
			||||||
    assert_equal ruby, Language.find_by_extension('vendor/Rakefile')
 | 
					    assert_equal ruby, Language.find_by_filename('.rb')
 | 
				
			||||||
    assert_equal ruby, Language.find_by_extension('./Rakefile')
 | 
					    assert_equal ruby, Language.find_by_filename('rb')
 | 
				
			||||||
 | 
					    assert_equal ruby, Language.find_by_filename('foo.rb')
 | 
				
			||||||
 | 
					    assert_equal ruby, Language.find_by_filename('./foo.rb')
 | 
				
			||||||
 | 
					    assert_equal ruby, Language.find_by_filename('foo/bar.rb')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    assert_equal ruby, Language.find_by_filename('Rakefile')
 | 
				
			||||||
 | 
					    assert_equal ruby, Language.find_by_filename('vendor/Rakefile')
 | 
				
			||||||
 | 
					    assert_equal ruby, Language.find_by_filename('./Rakefile')
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def test_name
 | 
					  def test_name
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user