spec/spec_helper.rb in gisele-0.3.0 vs spec/spec_helper.rb in gisele-0.4.0
- old
+ new
@@ -18,18 +18,26 @@
grammar = Gisele::Language::Syntax::Grammar
grammar.parse(text, :root => rule, :consume => consume)
end
def ast(text, rule, consume = true)
- parse(text, rule, consume).to_ast
+ ast = parse(text, rule, consume).to_ast
+ unless sexp_grammar[rule] === ast
+ raise "expected #{ast} to match #{rule} (#{text})"
+ end
+ ast
end
def fixtures_dir
(Path.dir/:fixtures)
end
def fixture_files(glob)
fixtures_dir.glob(glob)
+ end
+
+ def sexp_grammar
+ Gisele::Language::SEXP_GRAMMAR
end
def simple_ast
Gisele::ast(fixtures_dir/:tasks/"simple.gis")
end
\ No newline at end of file