mirror of
https://github.com/kemko/liquid.git
synced 2026-01-01 15:55:40 +03:00
with_global_filter test helper
This commit is contained in:
@@ -16,12 +16,10 @@ class ContextTest < Minitest::Test
|
||||
end
|
||||
end
|
||||
|
||||
original_filters = Array.new(Strainer.class_eval('@@filters'))
|
||||
Template.register_filter(global)
|
||||
assert_equal 'Global test', Template.parse("{{'test' | notice }}").render!
|
||||
assert_equal 'Local test', Template.parse("{{'test' | notice }}").render!({}, :filters => [local])
|
||||
ensure
|
||||
Strainer.class_eval('@@filters = ' + original_filters.to_s)
|
||||
with_global_filter(global) do
|
||||
assert_equal 'Global test', Template.parse("{{'test' | notice }}").render!
|
||||
assert_equal 'Local test', Template.parse("{{'test' | notice }}").render!({}, :filters => [local])
|
||||
end
|
||||
end
|
||||
|
||||
def test_has_key_will_not_add_an_error_for_missing_keys
|
||||
|
||||
@@ -104,7 +104,7 @@ class DropsTest < Minitest::Test
|
||||
include Liquid
|
||||
|
||||
def test_product_drop
|
||||
tpl = Liquid::Template.parse( ' ' )
|
||||
tpl = Liquid::Template.parse(' ')
|
||||
assert_equal ' ', tpl.render!('product' => ProductDrop.new)
|
||||
end
|
||||
|
||||
|
||||
@@ -111,14 +111,11 @@ class FiltersInTemplate < Minitest::Test
|
||||
include Liquid
|
||||
|
||||
def test_local_global
|
||||
original_filters = Array.new(Strainer.class_eval('@@filters'))
|
||||
Template.register_filter(MoneyFilter)
|
||||
|
||||
assert_equal " 1000$ ", Template.parse("{{1000 | money}}").render!(nil, nil)
|
||||
assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render!(nil, :filters => CanadianMoneyFilter)
|
||||
assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render!(nil, :filters => [CanadianMoneyFilter])
|
||||
ensure
|
||||
Strainer.class_eval('@@filters = ' + original_filters.to_s)
|
||||
with_global_filter(MoneyFilter) do
|
||||
assert_equal " 1000$ ", Template.parse("{{1000 | money}}").render!(nil, nil)
|
||||
assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render!(nil, :filters => CanadianMoneyFilter)
|
||||
assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render!(nil, :filters => [CanadianMoneyFilter])
|
||||
end
|
||||
end
|
||||
|
||||
def test_local_filter_with_deprecated_syntax
|
||||
|
||||
@@ -16,13 +16,8 @@ class HashOrderingTest < Minitest::Test
|
||||
include Liquid
|
||||
|
||||
def test_global_register_order
|
||||
original_filters = Array.new(Strainer.class_eval('@@filters'))
|
||||
Template.register_filter(MoneyFilter)
|
||||
Template.register_filter(CanadianMoneyFilter)
|
||||
|
||||
assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render(nil, nil)
|
||||
ensure
|
||||
Strainer.class_eval('@@filters = ' + original_filters.to_s)
|
||||
with_global_filter(MoneyFilter, CanadianMoneyFilter) do
|
||||
assert_equal " 1000$ CAD ", Template.parse("{{1000 | money}}").render(nil, nil)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -82,7 +82,7 @@ class ParsingQuirksTest < Minitest::Test
|
||||
end
|
||||
|
||||
def test_raise_on_invalid_tag_delimiter
|
||||
assert_raise(Liquid::SyntaxError) do
|
||||
assert_raises(Liquid::SyntaxError) do
|
||||
Template.new.parse('{% end %}')
|
||||
end
|
||||
end
|
||||
|
||||
@@ -47,10 +47,21 @@ module Minitest
|
||||
assert_match match, exception.message
|
||||
end
|
||||
|
||||
def with_global_filter(*globals)
|
||||
original_filters = Array.new(Liquid::Strainer.class_variable_get(:@@filters))
|
||||
globals.each do |global|
|
||||
Liquid::Template.register_filter(global)
|
||||
end
|
||||
yield
|
||||
ensure
|
||||
Liquid::Strainer.class_variable_set(:@@filters, original_filters)
|
||||
end
|
||||
|
||||
def with_error_mode(mode)
|
||||
old_mode = Liquid::Template.error_mode
|
||||
Liquid::Template.error_mode = mode
|
||||
yield
|
||||
ensure
|
||||
Liquid::Template.error_mode = old_mode
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user