mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Validate codemirror modes
This commit is contained in:
		| @@ -452,6 +452,15 @@ class TestLanguage < Minitest::Test | ||||
|     assert missing.empty?, message | ||||
|   end | ||||
|  | ||||
|   def test_codemirror_modes_present | ||||
|     Language.all.each do |language| | ||||
|       if language.codemirror_mode || language.codemirror_mime_mode | ||||
|         assert language.codemirror_mode, "#{language.inspect} missing CodeMirror mode" | ||||
|         assert language.codemirror_mime_mode, "#{language.inspect} missing CodeMirror MIME mode" | ||||
|       end | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   def test_valid_codemirror_mode | ||||
|     Language.all.each do |language| | ||||
|       if mode = language.codemirror_mode | ||||
| @@ -460,6 +469,23 @@ class TestLanguage < Minitest::Test | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   def test_codemirror_mode_and_mime_defined_by_meta_mapping | ||||
|     meta = File.read(File.expand_path("../../vendor/CodeMirror/mode/meta.js", __FILE__)) | ||||
|     Language.all.each do |language| | ||||
|       next unless language.codemirror_mode && language.codemirror_mime_mode | ||||
|       assert meta.match(/^.+#{Regexp.escape(language.codemirror_mime_mode)}.+#{Regexp.escape(language.codemirror_mode)}.+$/), "#{language.inspect}: #{language.codemirror_mime_mode} not defined under #{language.codemirror_mode}" | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   def test_codemirror_mime_declared_in_mode_file | ||||
|     Language.all.each do |language| | ||||
|       next unless language.codemirror_mode && language.codemirror_mime_mode | ||||
|       filename = File.expand_path("../../vendor/CodeMirror/mode/#{language.codemirror_mode}/#{language.codemirror_mode}.js", __FILE__) | ||||
|       assert File.exist?(filename), "#{filename} does not exist" | ||||
|       assert File.read(filename).match(language.codemirror_mime_mode), "#{language.inspect}: #{language.codemirror_mime_mode} not defined in #{filename}" | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   def test_all_popular_languages_exist | ||||
|     popular = YAML.load(File.read(File.expand_path("../../lib/linguist/popular.yml", __FILE__))) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user