Commit 64e86dab authored by Grzegorz Bizon's avatar Grzegorz Bizon

Allow using an empty string with pipeline expressions

parent 8a7c89ad
...@@ -4,7 +4,7 @@ module Gitlab ...@@ -4,7 +4,7 @@ module Gitlab
module Expression module Expression
module Lexeme module Lexeme
class String < Lexeme::Value class String < Lexeme::Value
PATTERN = /("(?<string>.+?)")|('(?<string>.+?)')/.freeze PATTERN = /("(?<string>.*?)")|('(?<string>.*?)')/.freeze
def initialize(value) def initialize(value)
@value = value @value = value
......
...@@ -73,6 +73,22 @@ describe Gitlab::Ci::Pipeline::Expression::Lexeme::String do ...@@ -73,6 +73,22 @@ describe Gitlab::Ci::Pipeline::Expression::Lexeme::String do
expect(token).not_to be_nil expect(token).not_to be_nil
expect(token.build.evaluate).to eq 'some " string' expect(token.build.evaluate).to eq 'some " string'
end end
it 'allows to use an empty string inside single quotes' do
scanner = StringScanner.new(%(''))
token = described_class.scan(scanner)
expect(token.build.evaluate).to eq ''
end
it 'allow to use an empty string inside double quotes' do
scanner = StringScanner.new(%(""))
token = described_class.scan(scanner)
expect(token.build.evaluate).to eq ''
end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment