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