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
 |