mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require_relative "./helper"
 | |
| 
 | |
| class TestPedantic < Minitest::Test
 | |
|   filename = File.expand_path("../../lib/linguist/languages.yml", __FILE__)
 | |
|   LANGUAGES = YAML.load(File.read(filename))
 | |
|   GRAMMARS = YAML.load(File.read(File.expand_path("../../grammars.yml", __FILE__)))
 | |
| 
 | |
|   def test_language_names_are_sorted
 | |
|     assert_sorted LANGUAGES.keys
 | |
|   end
 | |
| 
 | |
|   def test_nonprimary_extensions_are_sorted
 | |
|     LANGUAGES.each do |name, language|
 | |
|       extensions = language['extensions']
 | |
|       assert_sorted extensions[1..-1].map(&:downcase) if extensions && extensions.size > 1
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def test_filenames_are_sorted
 | |
|     LANGUAGES.each do |name, language|
 | |
|       assert_sorted language['filenames'] if language['filenames']
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def test_grammars_are_sorted
 | |
|     assert_sorted GRAMMARS.keys
 | |
|   end
 | |
| 
 | |
|   def test_scopes_are_sorted
 | |
|     GRAMMARS.values.each do |scopes|
 | |
|       assert_sorted scopes
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def test_heuristics_are_sorted
 | |
|     file = File.expand_path("../../lib/linguist/heuristics.rb", __FILE__)
 | |
|     heuristics = open(file).each.grep(/^ *disambiguate/)
 | |
|     assert_sorted heuristics
 | |
|   end
 | |
| 
 | |
|   def test_heuristics_tests_are_sorted
 | |
|     file = File.expand_path("../test_heuristics.rb", __FILE__)
 | |
|     tests = open(file).each.grep(/^ *def test_[a-z_]+_by_heuristics/)
 | |
|     assert_sorted tests
 | |
|   end
 | |
| 
 | |
|   def assert_sorted(list)
 | |
|     list.each_cons(2) do |previous, item|
 | |
|       flunk "#{previous} should come after #{item}" if previous > item
 | |
|     end
 | |
|   end
 | |
| end
 |