diff --git a/lib/gollum/app.rb b/lib/gollum/app.rb index 2ca6381b..fe5174ee 100644 --- a/lib/gollum/app.rb +++ b/lib/gollum/app.rb @@ -141,8 +141,7 @@ module Precious else @page = page @page.version = wiki.repo.log(wiki.ref, @page.path).first - raw_data = page.raw_data - @content = raw_data.respond_to?(:force_encoding) ? raw_data.force_encoding('UTF-8') : raw_data + @content = page.text_data mustache :edit end else diff --git a/lib/gollum/views/edit.rb b/lib/gollum/views/edit.rb index 71112a91..583a5ca1 100755 --- a/lib/gollum/views/edit.rb +++ b/lib/gollum/views/edit.rb @@ -22,7 +22,7 @@ module Precious def header if @header.nil? if page = @page.header - @header = page.raw_data + @header = page.text_data else @header = false end @@ -33,7 +33,7 @@ module Precious def footer if @footer.nil? if page = @page.footer - @footer = page.raw_data + @footer = page.text_data else @footer = false end @@ -44,7 +44,7 @@ module Precious def sidebar if @sidebar.nil? if page = @page.sidebar - @sidebar = page.raw_data + @sidebar = page.text_data else @sidebar = false end diff --git a/test/test_app.rb b/test/test_app.rb index 5c99900b..337acab1 100644 --- a/test/test_app.rb +++ b/test/test_app.rb @@ -504,6 +504,24 @@ context "Frontend" do Precious::App.set(:wiki_options, { :js => nil }) end + test "show edit page with header and footer and sidebar of multibyte" do + post "/create", + :content => 'りんご', + :page => 'Multibyte', :format => :markdown, :message => 'mesg' + + post "/edit/Multibyte", + :content => 'りんご', :header => 'みかん', :footer => 'バナナ', :sidebar => 'スイカ', + :page => 'Multibyte', :format => :markdown, :message => 'mesg' + + get "edit/Multibyte" + + assert last_response.ok? + assert_match /りんご/, last_response.body + assert_match /みかん/, last_response.body + assert_match /バナナ/, last_response.body + assert_match /スイカ/, last_response.body + end + def app Precious::App end