Use force_encoding when regex contains UTF-8 char
This commit is contained in:
parent
b9950c22b3
commit
a6f6056c62
2 changed files with 4 additions and 4 deletions
|
@ -74,7 +74,7 @@ module Gitlab
|
|||
match = ""
|
||||
|
||||
reverse_line do |line|
|
||||
matches = line.scan(regex)
|
||||
matches = line.force_encoding(Encoding.default_external).scan(regex)
|
||||
next unless matches.is_a?(Array)
|
||||
next if matches.empty?
|
||||
|
||||
|
|
|
@ -266,14 +266,14 @@ describe Gitlab::Ci::Trace::Stream do
|
|||
end
|
||||
|
||||
context 'when regex is multi-byte char' do
|
||||
let(:data) { 'ゴッドファット\n' }
|
||||
let(:regex) { 'ゴッドファット' }
|
||||
let(:data) { '95.0 ゴッドファット\n' }
|
||||
let(:regex) { '\d+\.\d+ ゴッドファット' }
|
||||
|
||||
before do
|
||||
stub_const('Gitlab::Ci::Trace::Stream::BUFFER_SIZE', 5)
|
||||
end
|
||||
|
||||
it { is_expected.to be_nil }
|
||||
it { is_expected.to eq('95.0') }
|
||||
end
|
||||
|
||||
context 'when BUFFER_SIZE is equal to stream.size' do
|
||||
|
|
Loading…
Reference in a new issue