7a019567ec
The order-dependent failure has been been commented in code. After manually bisecting the test suite, I was able to determine that the template cascade tests were leaving the `@@template_priority_path` set to an overridden value in tests run afterward.
60 lines
1.5 KiB
Ruby
60 lines
1.5 KiB
Ruby
# ~*~ encoding: utf-8 ~*~
|
|
require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
|
|
|
|
context "Precious::Views::TemplateCascade" do
|
|
include Rack::Test::Methods
|
|
|
|
setup do
|
|
@path = cloned_testpath('examples/lotr.git')
|
|
Precious::App.set(:gollum_path, @path)
|
|
Precious::App.set(
|
|
:wiki_options,
|
|
{template_dir: testpath('examples/template_cascade')}
|
|
)
|
|
@wiki = Gollum::Wiki.new(@path)
|
|
end
|
|
|
|
teardown do
|
|
FileUtils.rm_rf(@path)
|
|
|
|
Precious::App.set(:wiki_options, {template_dir: nil})
|
|
|
|
# The following line has been added to avoid order-dependent test failures.
|
|
# We saw issues where the class variable `@@template_priority_path` was not
|
|
# being reset between test cases.
|
|
Precious::Views::TemplateCascade.class_variable_set(
|
|
:@@template_priority_path,
|
|
nil
|
|
)
|
|
end
|
|
|
|
def app
|
|
Precious::App.new
|
|
end
|
|
|
|
test "overridden_page_template_is_used" do
|
|
get '/Home'
|
|
|
|
assert last_response.body.include?('PAGE_OVERRIDE')
|
|
end
|
|
|
|
test "test_overridden_navbar_partial_is_used" do
|
|
get '/Home'
|
|
|
|
assert last_response.body.include?('NAVBAR_OVERRIDE')
|
|
end
|
|
|
|
test "test_overridden_templates_are_ignore_without_template_dir_set" do
|
|
Precious::App.set(:wiki_options, {template_dir: nil})
|
|
|
|
get '/Home'
|
|
|
|
assert_equal '/Home', last_request.fullpath
|
|
|
|
assert last_response.ok?
|
|
|
|
refute_match /PAGE_OVERRIDE/, last_response.body
|
|
refute_match /NAVBAR_OVERRIDE/, last_response.body
|
|
end
|
|
end
|