Encode GitalyClient::WikiPage attributes to UTF-8

This commit is contained in:
Ahmad Sherif 2018-02-05 12:26:25 +01:00
parent 19277271be
commit be26c4e728
3 changed files with 18 additions and 2 deletions

View file

@ -1 +1 @@
0.77.0
0.78.0

View file

@ -4,6 +4,7 @@ module Gitlab
ATTRS = %i(title format url_path path name historical raw_data).freeze
include AttributesBag
include Gitlab::EncodingHelper
def initialize(params)
super
@ -11,6 +12,10 @@ module Gitlab
# All gRPC strings in a response are frozen, so we get an unfrozen
# version here so appending to `raw_data` doesn't blow up.
@raw_data = @raw_data.dup
@title = encode_utf8(@title)
@path = encode_utf8(@path)
@name = encode_utf8(@name)
end
def historical?

View file

@ -127,7 +127,7 @@ describe ProjectWiki do
end
after do
destroy_page(subject.pages.first.page)
subject.pages.each { |page| destroy_page(page.page) }
end
it "returns the latest version of the page if it exists" do
@ -148,6 +148,17 @@ describe ProjectWiki do
page = subject.find_page("index page")
expect(page).to be_a WikiPage
end
context 'pages with multibyte-character title' do
before do
create_page("autre pagé", "C'est un génial Gollum Wiki")
end
it "can find a page by slug" do
page = subject.find_page("autre pagé")
expect(page.title).to eq("autre pagé")
end
end
end
context 'when Gitaly wiki_find_page is enabled' do