Skip to content
Snippets Groups Projects
Commit faa5dffb authored by Lin Jen-Shin's avatar Lin Jen-Shin
Browse files

After Trace#limit, we seek to the next line in case

of breaking ANSI sequence or Unicode
parent 7629c9ec
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -30,6 +30,7 @@ module Gitlab
last_bytes = stream_size
end
stream.seek(-last_bytes, IO::SEEK_END)
stream.readline
end
 
def append(data, offset)
Loading
Loading
.
..
😺
ヾ(´༎ຶД༎ຶ`)ノ
許功蓋
Loading
Loading
@@ -21,7 +21,7 @@ describe Gitlab::Ci::Trace::Stream do
end
end
 
it 'if size is larger we start from beggining' do
it 'if size is larger we start from beginning' do
stream.limit(10)
 
expect(stream.tell).to eq(0)
Loading
Loading
@@ -32,6 +32,26 @@ describe Gitlab::Ci::Trace::Stream do
 
expect(stream.tell).to eq(6)
end
context 'when the trace contains ANSI sequence and Unicode' do
let(:stream) do
described_class.new do
File.open(expand_fixture_path('trace/ansi-sequence-and-unicode'))
end
end
it 'forwards to the next linefeed, case 1' do
stream.limit(7)
expect(stream.raw).to eq('')
end
it 'forwards to the next linefeed, case 2' do
stream.limit(29)
expect(stream.raw).to eq("\e[01;32m許功蓋\e[0m\n")
end
end
end
 
describe '#append' do
Loading
Loading
module FixtureHelpers
def fixture_file(filename)
return '' if filename.blank?
file_path = File.expand_path(Rails.root.join('spec/fixtures/', filename))
File.read(file_path)
File.read(expand_fixture_path(filename))
end
def expand_fixture_path(filename)
File.expand_path(Rails.root.join('spec/fixtures/', filename))
end
end
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment