diff options
| -rw-r--r-- | lib/gitlab/ci/pipeline/expression/lexer.rb | 2 | ||||
| -rw-r--r-- | lib/gitlab/ci/pipeline/expression/statement.rb | 2 | ||||
| -rw-r--r-- | spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb | 19 |
3 files changed, 17 insertions, 6 deletions
diff --git a/lib/gitlab/ci/pipeline/expression/lexer.rb b/lib/gitlab/ci/pipeline/expression/lexer.rb index ee202ebce69..3985e30a768 100644 --- a/lib/gitlab/ci/pipeline/expression/lexer.rb +++ b/lib/gitlab/ci/pipeline/expression/lexer.rb @@ -7,7 +7,7 @@ module Gitlab Expression::Variable, Expression::String, Expression::Equals - ] + ].freeze MAX_CYCLES = 5 SyntaxError = Class.new(StandardError) diff --git a/lib/gitlab/ci/pipeline/expression/statement.rb b/lib/gitlab/ci/pipeline/expression/statement.rb index 35c3bb20608..339bef66c45 100644 --- a/lib/gitlab/ci/pipeline/expression/statement.rb +++ b/lib/gitlab/ci/pipeline/expression/statement.rb @@ -12,7 +12,7 @@ module Gitlab %w[string equals variable], %w[null equals variable], %w[variable] - ] + ].freeze def initialize(statement, pipeline) @pipeline = pipeline diff --git a/spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb b/spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb index 7f5f55660be..3d714a64a12 100644 --- a/spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb +++ b/spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb @@ -29,11 +29,22 @@ describe Gitlab::Ci::Pipeline::Expression::Statement do end context 'when expression grammar is correct' do - let(:text) { '$VAR == "value"' } + context 'when using an operator' do + let(:text) { '$VAR == "value"' } - it 'returns a reverse descent parse tree when using operator' do - expect(subject.parse_tree) - .to be_a Gitlab::Ci::Pipeline::Expression::Equals + it 'returns a reverse descent parse tree' do + expect(subject.parse_tree) + .to be_a Gitlab::Ci::Pipeline::Expression::Equals + end + end + + context 'when using a single token' do + let(:text) { '$VARIABLE' } + + it 'returns a single token instance' do + expect(subject.parse_tree) + .to be_a Gitlab::Ci::Pipeline::Expression::Variable + end end end end |
