Removed context from read_template_file, fixed tests to match new arity

This commit is contained in:
James Reid-Smith
2014-09-11 23:27:08 +00:00
parent 6390652c3f
commit 448766b0c4
4 changed files with 7 additions and 27 deletions

View File

@@ -81,15 +81,7 @@ module Liquid
def read_template_from_file_system(context)
file_system = context.registers[:file_system] || Liquid::Template.file_system
# make read_template_file call backwards-compatible.
case file_system.method(:read_template_file).arity
when 1
file_system.read_template_file(context.evaluate(@template_name))
when 2
file_system.read_template_file(context.evaluate(@template_name), context)
else
raise ArgumentError, "file_system.read_template_file expects two parameters: (template_name, context)"
end
file_system.read_template_file(context.evaluate(@template_name))
end
def pass_options

View File

@@ -9,7 +9,7 @@ class FoobarTag < Liquid::Tag
end
class BlankTestFileSystem
def read_template_file(template_path, context)
def read_template_file(template_path)
template_path
end
end

View File

@@ -4,7 +4,7 @@ class RenderProfilingTest < Minitest::Test
include Liquid
class ProfilingFileSystem
def read_template_file(template_path, context)
def read_template_file(template_path)
"Rendering template {% assign template_name = '#{template_path}'%}\n{{ template_name }}"
end
end

View File

@@ -1,7 +1,7 @@
require 'test_helper'
class TestFileSystem
def read_template_file(template_path, context)
def read_template_file(template_path)
case template_path
when "product"
"Product: {{ product.title }} "
@@ -37,14 +37,14 @@ class TestFileSystem
end
class OtherFileSystem
def read_template_file(template_path, context)
def read_template_file(template_path)
'from OtherFileSystem'
end
end
class CountingFileSystem
attr_reader :count
def read_template_file(template_path, context)
def read_template_file(template_path)
@count ||= 0
@count += 1
'from CountingFileSystem'
@@ -132,7 +132,7 @@ class IncludeTagTest < Minitest::Test
def test_recursively_included_template_does_not_produce_endless_loop
infinite_file_system = Class.new do
def read_template_file(template_path, context)
def read_template_file(template_path)
"-{% include 'loop' %}"
end
end
@@ -145,18 +145,6 @@ class IncludeTagTest < Minitest::Test
end
def test_backwards_compatability_support_for_overridden_read_template_file
infinite_file_system = Class.new do
def read_template_file(template_path) # testing only one argument here.
"- hi mom"
end
end
Liquid::Template.file_system = infinite_file_system.new
Template.parse("{% include 'hi_mom' %}").render!
end
def test_dynamically_choosen_template
assert_template_result "Test123", "{% include template %}", "template" => 'Test123'
assert_template_result "Test321", "{% include template %}", "template" => 'Test321'