Add some tests for grammars.yml

It must be sorted, because it will get re-sorted when
script/download-grammars is next run and that would clutter up diffs.
And it must not contain any duplicate scopes.
This commit is contained in:
Adam Roben
2014-12-17 15:55:16 -05:00
parent a056765e38
commit 410fe2843d
2 changed files with 24 additions and 0 deletions

13
test/test_grammars.rb Normal file
View File

@@ -0,0 +1,13 @@
require_relative "./helper"
class TestGrammars < Test::Unit::TestCase
def setup
@grammars = YAML.load(File.read(File.expand_path("../../grammars.yml", __FILE__)))
end
def test_no_duplicate_scopes
scopes = @grammars.values.flatten
duplicates = scopes.group_by { |s| s }.select { |k, v| v.length > 1 }.map(&:first)
assert duplicates.empty?, "The following scopes appear in grammars.yml more than once:\n#{duplicates.sort.join("\n")}"
end
end