Commit f667bbce authored by Robert Speicher's avatar Robert Speicher

Merge branch 'fix/wiki-find-page-invalid-encoding' into 'master'

Fix finding wiki pages when they have invalidly-encoded content

Closes #43715

See merge request gitlab-org/gitlab-ce!18856
parents 8279df2c 9d799cca
---
title: Fix finding wiki pages when they have invalidly-encoded content
merge_request: 18856
author:
type: fixed
...@@ -7,6 +7,20 @@ module Gollum ...@@ -7,6 +7,20 @@ module Gollum
end end
require "gollum-lib" require "gollum-lib"
module Gollum
class Page
def text_data(encoding = nil)
data = if raw_data.respond_to?(:encoding)
raw_data.force_encoding(encoding || Encoding::UTF_8)
else
raw_data
end
Gitlab::EncodingHelper.encode!(data)
end
end
end
Rails.application.configure do Rails.application.configure do
config.after_initialize do config.after_initialize do
Gollum::Page.per_page = Kaminari.config.default_per_page Gollum::Page.per_page = Kaminari.config.default_per_page
......
...@@ -159,6 +159,17 @@ describe ProjectWiki do ...@@ -159,6 +159,17 @@ describe ProjectWiki do
expect(page.title).to eq("autre pagé") expect(page.title).to eq("autre pagé")
end end
end end
context 'pages with invalidly-encoded content' do
before do
create_page("encoding is fun", "f\xFCr".b)
end
it "can find the page" do
page = subject.find_page("encoding is fun")
expect(page.content).to eq("fr")
end
end
end end
context 'when Gitaly wiki_find_page is enabled' do context 'when Gitaly wiki_find_page is enabled' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment