spec/unit/language/syntax/grammar/test_variable_name.rb in gisele-0.4.0 vs spec/unit/language/syntax/grammar/test_variable_name.rb in gisele-0.5.0

- old
+ new

@@ -1,17 +1,38 @@ require 'spec_helper' -module Gisele::Language::Syntax +module Gisele::Language describe Grammar, 'variable_name' do + RESERVED_WORDS = [ + "if", + "else", + "elsif", + "when", + "while", + "seq", + "par", + "task", + "refinement", + "fluent", + "trackvar", + "initially", + "end", + "not", + "or", + "and", + "true", + "false" + ] + it 'parses correct variable names' do parse('a', :variable_name).should eq('a') parse('diagnosis', :variable_name).should eq('diagnosis') parse('varName', :variable_name).should eq('varName') end it 'does not allow reserved words' do - Gisele::Language::RESERVED_WORDS.each do |word| + RESERVED_WORDS.each do |word| lambda{ parse(word.to_s + " ", :variable_name) }.should raise_error(Citrus::ParseError) end end @@ -25,6 +46,6 @@ parse('NotAVarName', :variable_name) }.should raise_error(Citrus::ParseError) end end -end +end \ No newline at end of file