diff options
| author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-02-21 12:37:55 +0100 |
|---|---|---|
| committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-02-21 12:37:55 +0100 |
| commit | 9954928cceb2a5de7788ffdfdeb8a99e9ccf8b08 (patch) | |
| tree | 8ba6c023defaad7984bcc0b6d1dfeecfe64f095e /spec/lib | |
| parent | 523b84d4328c9e6ff6fc80c4319176bceb5865f9 (diff) | |
| download | gitlab-ce-9954928cceb2a5de7788ffdfdeb8a99e9ccf8b08.tar.gz | |
Implement pipeline expressions lexer
Diffstat (limited to 'spec/lib')
| -rw-r--r-- | spec/lib/gitlab/ci/pipeline/expression/lexer_spec.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/spec/lib/gitlab/ci/pipeline/expression/lexer_spec.rb b/spec/lib/gitlab/ci/pipeline/expression/lexer_spec.rb new file mode 100644 index 00000000000..84d54c5acf2 --- /dev/null +++ b/spec/lib/gitlab/ci/pipeline/expression/lexer_spec.rb @@ -0,0 +1,30 @@ +require 'spec_helper' + +describe Gitlab::Ci::Pipeline::Expression::Lexer do + let(:token_class) do + Gitlab::Ci::Pipeline::Expression::Token + end + + describe '#tokenize' do + it 'tokenizes single value' do + tokens = described_class.new('$VARIABLE').tokenize + + expect(tokens).to be_one + expect(tokens).to all(be_an_instance_of(token_class)) + end + + it 'does ignore whitespace characters' do + tokens = described_class.new("\t$VARIABLE ").tokenize + + expect(tokens).to be_one + expect(tokens).to all(be_an_instance_of(token_class)) + end + + it 'tokenizes multiple values of the same token' do + tokens = described_class.new("$VARIABLE1 $VARIABLE2").tokenize + + expect(tokens.size).to eq 2 + expect(tokens).to all(be_an_instance_of(token_class)) + end + end +end |
