Add a UTF-8 encoding matcher

This commit is contained in:
Jacob Vosmaer 2017-06-28 17:44:37 +02:00
parent 7648f11381
commit 8a62f304ef
5 changed files with 19 additions and 8 deletions

View File

@ -20,6 +20,7 @@ describe Gitlab::Git::Blame, seed_helper: true do
expect(data.size).to eq(95)
expect(data.first[:commit]).to be_kind_of(Gitlab::Git::Commit)
expect(data.first[:line]).to eq("# Contribute to GitLab")
expect(data.first[:line]).to be_utf8
end
end
@ -40,6 +41,7 @@ describe Gitlab::Git::Blame, seed_helper: true do
expect(data.size).to eq(1)
expect(data.first[:commit]).to be_kind_of(Gitlab::Git::Commit)
expect(data.first[:line]).to eq("Ä ü")
expect(data.first[:line]).to be_utf8
end
end
@ -61,6 +63,7 @@ describe Gitlab::Git::Blame, seed_helper: true do
expect(data.size).to eq(1)
expect(data.first[:commit]).to be_kind_of(Gitlab::Git::Commit)
expect(data.first[:line]).to eq(" ")
expect(data.first[:line]).to be_utf8
end
end
end

View File

@ -48,7 +48,7 @@ describe Gitlab::Git::Branch, seed_helper: true do
expect(Gitlab::Git::Commit).to receive(:decorate)
.with(hash_including(attributes)).and_call_original
expect(branch.dereferenced_target.message.encoding).to be(Encoding::UTF_8)
expect(branch.dereferenced_target.message).to be_utf8
end
end

View File

@ -180,7 +180,7 @@ EOT
let(:raw_patch) { @raw_diff_hash[:diff].encode(Encoding::ASCII_8BIT) }
it 'encodes diff patch to UTF-8' do
expect(diff.diff.encoding).to eq(Encoding::UTF_8)
expect(diff.diff).to be_utf8
end
end
end

View File

@ -32,7 +32,7 @@ describe Gitlab::Git::Repository, seed_helper: true do
end
it 'returns UTF-8' do
expect(repository.root_ref.encoding).to eq(Encoding.find('UTF-8'))
expect(repository.root_ref).to be_utf8
end
it 'gets the branch name from GitalyClient' do
@ -124,7 +124,7 @@ describe Gitlab::Git::Repository, seed_helper: true do
end
it 'returns UTF-8' do
expect(subject.first.encoding).to eq(Encoding.find('UTF-8'))
expect(subject.first).to be_utf8
end
it { is_expected.to include("master") }
@ -158,7 +158,7 @@ describe Gitlab::Git::Repository, seed_helper: true do
end
it 'returns UTF-8' do
expect(subject.first.encoding).to eq(Encoding.find('UTF-8'))
expect(subject.first).to be_utf8
end
describe '#last' do
@ -1259,10 +1259,9 @@ describe Gitlab::Git::Repository, seed_helper: true do
it 'returns a Branch with UTF-8 fields' do
branches = @repo.local_branches.to_a
expect(branches.size).to be > 0
utf_8 = Encoding.find('utf-8')
branches.each do |branch|
expect(branch.name.encoding).to eq(utf_8)
expect(branch.target.encoding).to eq(utf_8) unless branch.target.nil?
expect(branch.name).to be_utf8
expect(branch.target).to be_utf8 unless branch.target.nil?
end
end

View File

@ -0,0 +1,9 @@
RSpec::Matchers.define :be_utf8 do |_|
match do |actual|
actual.is_a?(String) && actual.encoding == Encoding.find('UTF-8')
end
description do
"be a String with encoding UTF-8"
end
end