mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
require 'linguist/repository'
 | 
						|
 | 
						|
require 'test/unit'
 | 
						|
 | 
						|
class TestRepository < Test::Unit::TestCase
 | 
						|
  include Linguist
 | 
						|
 | 
						|
  class FixtureBlob
 | 
						|
    def initialize(name, path)
 | 
						|
      @name = name
 | 
						|
      @path = path
 | 
						|
    end
 | 
						|
 | 
						|
    def name
 | 
						|
      @name
 | 
						|
    end
 | 
						|
 | 
						|
    def data
 | 
						|
      File.read(@path)
 | 
						|
    end
 | 
						|
 | 
						|
    def size
 | 
						|
      File.size(@path)
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  def repo(base_path)
 | 
						|
    paths = Dir["#{base_path}/**/*"].inject({}) do |h, path|
 | 
						|
      if File.file?(path)
 | 
						|
        name = path.sub("#{base_path}/", '')
 | 
						|
        h[name] = Blob.new(FixtureBlob.new(name, path))
 | 
						|
      end
 | 
						|
      h
 | 
						|
    end
 | 
						|
    Repository.new(paths)
 | 
						|
  end
 | 
						|
 | 
						|
  def linguist_repo
 | 
						|
    repo(File.expand_path("../..", __FILE__))
 | 
						|
  end
 | 
						|
 | 
						|
  def test_lookup_path
 | 
						|
    assert linguist_repo['lib/linguist.rb']
 | 
						|
    assert_equal Language['Ruby'], linguist_repo['lib/linguist.rb'].language
 | 
						|
  end
 | 
						|
 | 
						|
  def test_linguist_language
 | 
						|
    assert_equal Language['Ruby'], linguist_repo.language
 | 
						|
  end
 | 
						|
 | 
						|
  def test_linguist_languages
 | 
						|
    assert linguist_repo.languages[Language['Ruby']] > 30_000
 | 
						|
    assert linguist_repo.languages[Language['Python']] < 1000
 | 
						|
  end
 | 
						|
 | 
						|
  def test_linguist_size
 | 
						|
    assert linguist_repo.size > 30_000
 | 
						|
  end
 | 
						|
end
 |