mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			74 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require_relative "./helper"
 | |
| 
 | |
| class TestModelines < Minitest::Test
 | |
|   include Linguist
 | |
| 
 | |
|   def assert_modeline(language, blob)
 | |
|     if language.nil?
 | |
|       assert_nil Linguist::Strategy::Modeline.call(blob).first
 | |
|     else
 | |
|       assert_equal language, Linguist::Strategy::Modeline.call(blob).first
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def test_modeline_strategy
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby2")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby3")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby4")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby5")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby6")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby7")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby8")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby9")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby10")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby11")
 | |
|     assert_modeline Language["Ruby"], fixture_blob("Data/Modelines/ruby12")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplus")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs1")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs2")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs3")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs4")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs5")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs6")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs7")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs8")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs9")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs10")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs11")
 | |
|     assert_modeline Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs12")
 | |
|     assert_modeline Language["Text"], fixture_blob("Data/Modelines/fundamentalEmacs.c")
 | |
|     assert_modeline Language["Prolog"], fixture_blob("Data/Modelines/not_perl.pl")
 | |
|     assert_modeline Language["Smalltalk"], fixture_blob("Data/Modelines/example_smalltalk.md")
 | |
|     assert_modeline Language["JavaScript"], fixture_blob("Data/Modelines/iamjs.pl")
 | |
|     assert_modeline Language["JavaScript"], fixture_blob("Data/Modelines/iamjs2.pl")
 | |
|     assert_modeline Language["PHP"], fixture_blob("Data/Modelines/iamphp.inc")
 | |
|     assert_modeline nil, sample_blob("C/main.c")
 | |
|   end
 | |
| 
 | |
|   def test_modeline_languages
 | |
|     assert_equal Language["Ruby"], fixture_blob("Data/Modelines/ruby").language
 | |
|     assert_equal Language["Ruby"], fixture_blob("Data/Modelines/ruby2").language
 | |
|     assert_equal Language["Ruby"], fixture_blob("Data/Modelines/ruby3").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplus").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs1").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs2").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs3").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs4").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs5").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs6").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs7").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs8").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs9").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs10").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs11").language
 | |
|     assert_equal Language["C++"], fixture_blob("Data/Modelines/seeplusplusEmacs12").language
 | |
|     assert_equal Language["Text"], fixture_blob("Data/Modelines/fundamentalEmacs.c").language
 | |
|     assert_equal Language["Prolog"], fixture_blob("Data/Modelines/not_perl.pl").language
 | |
|     assert_equal Language["Smalltalk"], fixture_blob("Data/Modelines/example_smalltalk.md").language
 | |
|     assert_equal Language["JavaScript"], fixture_blob("Data/Modelines/iamjs.pl").language
 | |
|     assert_equal Language["JavaScript"], fixture_blob("Data/Modelines/iamjs2.pl").language
 | |
|     assert_equal Language["PHP"], fixture_blob("Data/Modelines/iamphp.inc").language
 | |
|   end
 | |
| end
 |