Merge branch 'fix/gitaly-wiki-encoding-issues' into 'master'
Encode GitalyClient::WikiPage attributes to UTF-8 See merge request gitlab-org/gitlab-ce!16925
This commit is contained in:
commit
bfb32b4632
2 changed files with 17 additions and 1 deletions
|
@ -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?
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue