mirror of
https://github.com/kemko/liquid.git
synced 2026-01-02 16:25:42 +03:00
test for the Jekyll's issue: [Liquid doesn't render my partial · Issue #1519 · mojombo/jekyll](https://github.com/mojombo/jekyll/issues/1519)
This commit is contained in:
@@ -163,4 +163,53 @@ class IncludeTagTest < Test::Unit::TestCase
|
||||
Template.parse("{% include 'pick_a_source' %}").render({}, :registers => {:file_system => file_system})
|
||||
assert_equal 2, file_system.count
|
||||
end
|
||||
|
||||
def test_include_tag_within_if_statement
|
||||
assert_equal "foo_if_true",
|
||||
Template.parse("{% if true %}{% include 'foo_if_true' %}{% endif %}").render
|
||||
end
|
||||
|
||||
def test_custom_include_tag
|
||||
original_tag = Liquid::Template.tags['include']
|
||||
Liquid::Template.tags['include'] = CustomInclude
|
||||
begin
|
||||
assert_equal "custom_foo",
|
||||
Template.parse("{% include 'custom_foo' %}").render
|
||||
ensure
|
||||
Liquid::Template.tags['include'] = original_tag
|
||||
end
|
||||
end
|
||||
|
||||
def test_custom_include_tag_within_if_statement
|
||||
original_tag = Liquid::Template.tags['include']
|
||||
Liquid::Template.tags['include'] = CustomInclude
|
||||
begin
|
||||
assert_equal "custom_foo_if_true",
|
||||
Template.parse("{% if true %}{% include 'custom_foo_if_true' %}{% endif %}").render
|
||||
ensure
|
||||
Liquid::Template.tags['include'] = original_tag
|
||||
end
|
||||
end
|
||||
|
||||
class CustomInclude < Liquid::Tag
|
||||
include Liquid
|
||||
Syntax = /(#{QuotedFragment}+)(\s+(?:with|for)\s+(#{QuotedFragment}+))?/o
|
||||
|
||||
def initialize(tag_name, markup, tokens)
|
||||
markup =~ Syntax
|
||||
@template_name = $1
|
||||
super
|
||||
end
|
||||
|
||||
def parse(tokens)
|
||||
end
|
||||
|
||||
def blank?
|
||||
false
|
||||
end
|
||||
|
||||
def render(context)
|
||||
@template_name[1..-2]
|
||||
end
|
||||
end
|
||||
end # IncludeTagTest
|
||||
|
||||
Reference in New Issue
Block a user