mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
41 lines
1.0 KiB
Ruby
41 lines
1.0 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_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 assert_sorted(list)
|
|
list.each_cons(2) do |previous, item|
|
|
flunk "#{previous} should come after #{item}" if previous > item
|
|
end
|
|
end
|
|
end
|