mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	require samples if filename matches multiple languages
This commit is contained in:
		| @@ -55,19 +55,25 @@ class TestSamples < Test::Unit::TestCase | |||||||
|   end |   end | ||||||
|  |  | ||||||
|   # If a language extension isn't globally unique then make sure there are samples |   # If a language extension isn't globally unique then make sure there are samples | ||||||
|   def test_presence |  | ||||||
|   Linguist::Language.all.each do |language| |   Linguist::Language.all.each do |language| | ||||||
|  |     define_method "test_#{language.name}_has_samples_if_necessary" do | ||||||
|       language.all_extensions.each do |extension| |       language.all_extensions.each do |extension| | ||||||
|         language_matches = Language.find_by_filename("foo#{extension}") |         assert_samples Language.find_by_filename("foo#{extension}"), "*#{extension}" | ||||||
|  |       end | ||||||
|  |  | ||||||
|  |       language.filenames.each do |filename| | ||||||
|  |         assert_samples Language.find_by_filename(filename), filename | ||||||
|  |       end | ||||||
|  |     end | ||||||
|  |   end | ||||||
|  |  | ||||||
|  |   def assert_samples(language_matches, file_glob) | ||||||
|     # If there is more than one language match for a given extension |     # If there is more than one language match for a given extension | ||||||
|     # then check that there are examples for that language with the extension |     # then check that there are examples for that language with the extension | ||||||
|     if language_matches.length > 1 |     if language_matches.length > 1 | ||||||
|       language_matches.each do |language| |       language_matches.each do |language| | ||||||
|         assert File.directory?("samples/#{language.name}"), "#{language.name} is missing a samples directory" |         assert File.directory?("samples/#{language.name}"), "#{language.name} is missing a samples directory" | ||||||
|             assert Dir.glob("samples/#{language.name}/*#{extension}").any?, "#{language.name} is missing samples for extension #{extension}" |         assert Dir.glob("samples/#{language.name}/#{file_glob}").any?, "#{language.name} is missing samples for #{file_glob}" | ||||||
|           end |  | ||||||
|         end |  | ||||||
|       end |       end | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user