From fdbde7840de82aa000a44b1c6217b258f55773d0 Mon Sep 17 00:00:00 2001 From: Daniele Grandini Date: Sat, 27 Aug 2016 15:51:18 +0200 Subject: [PATCH] mv template load in page create and added tests --- lib/gollum/app.rb | 8 +++++++- test/test_app.rb | 22 ++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/lib/gollum/app.rb b/lib/gollum/app.rb index ba62a74d..40510727 100644 --- a/lib/gollum/app.rb +++ b/lib/gollum/app.rb @@ -105,7 +105,6 @@ module Precious @css = settings.wiki_options[:css] @js = settings.wiki_options[:js] @mathjax_config = settings.wiki_options[:mathjax_config] - @template_page=wiki_page("/_Template").page.raw_data if settings.wiki_options[:template_page] end get '/' do @@ -156,6 +155,7 @@ module Precious get '/edit/*' do forbid unless @allow_editing + wikip = wiki_page(params[:splat].first) @name = wikip.name @path = wikip.path @@ -320,6 +320,12 @@ module Precious get '/create/*' do forbid unless @allow_editing + + if settings.wiki_options[:template_page] then + temppage = wiki_page("/_Template") + @template_page = (temppage.page != nil) ? temppage.page.raw_data : "Template page option is set, but no /_Template page is present or committed." + end + wikip = wiki_page(params[:splat].first.gsub('+', '-')) @name = wikip.name.to_url @path = wikip.path diff --git a/test/test_app.rb b/test/test_app.rb index 0eec3726..5a0da233 100644 --- a/test/test_app.rb +++ b/test/test_app.rb @@ -310,6 +310,28 @@ context "Frontend" do assert_no_match(/[^\/]#{dir}/, last_response.body) end + test "create with template succeed if template exists" do + Precious::App.set(:wiki_options, { :template_page => true }) + page='_Template' + post '/create', :content => 'fake template', :page => page, + :path => '/', :format => 'markdown', :message => '' + follow_redirect! + assert last_response.ok? + #puts last_response + @wiki.clear_cache + get "/create/TT" + assert last_response.ok? + get '/delete/_Template' + Precious::App.set(:wiki_options, { :template_page => false }) + end + + test "create with template succeed if template doesn't exist" do + Precious::App.set(:wiki_options, { :template_page => true }) + get "/create/TT" + assert last_response.ok? + Precious::App.set(:wiki_options, { :template_page => false }) + end + test "create sets the correct path for a relative path subdirectory with the page file directory set" do Precious::App.set(:wiki_options, { :page_file_dir => "foo" }) dir = "bardir"