Use force_encoding when regex contains UTF-8 char
This commit is contained in:
		
							parent
							
								
									b9950c22b3
								
							
						
					
					
						commit
						a6f6056c62
					
				|  | @ -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 New Issue