Fix passing multiline params to include tag when using the variable syntax (#6858)
Merge pull request 6858
This commit is contained in:
parent
f7b5e313c1
commit
8f3363e2dc
|
@ -19,7 +19,7 @@ module Jekyll
|
|||
VARIABLE_SYNTAX = %r!
|
||||
(?<variable>[^{]*(\{\{\s*[\w\-\.]+\s*(\|.*)?\}\}[^\s{}]*)+)
|
||||
(?<params>.*)
|
||||
!x
|
||||
!mx
|
||||
|
||||
FULL_VALID_SYNTAX = %r!\A\s*(?:#{VALID_SYNTAX}(?=\s|\z)\s*)*\z!
|
||||
VALID_FILENAME_CHARS = %r!^[\w/\.-]+$!
|
||||
|
|
|
@ -948,6 +948,64 @@ CONTENT
|
|||
end
|
||||
end
|
||||
|
||||
context "with simple syntax but multiline markup" do
|
||||
setup do
|
||||
content = <<CONTENT
|
||||
---
|
||||
title: Include tag parameters
|
||||
---
|
||||
|
||||
{% include sig.markdown myparam="test" %}
|
||||
|
||||
{% include params.html
|
||||
param="value" %}
|
||||
CONTENT
|
||||
create_post(content, {
|
||||
"permalink" => "pretty",
|
||||
"source" => source_dir,
|
||||
"destination" => dest_dir,
|
||||
"read_posts" => true,
|
||||
})
|
||||
end
|
||||
|
||||
should "correctly output include variable" do
|
||||
assert_match "<span id=\"include-param\">value</span>", @result.strip
|
||||
end
|
||||
|
||||
should "ignore parameters if unused" do
|
||||
assert_match "<hr />\n<p>Tom Preston-Werner\ngithub.com/mojombo</p>\n", @result
|
||||
end
|
||||
end
|
||||
|
||||
context "with variable syntax but multiline markup" do
|
||||
setup do
|
||||
content = <<CONTENT
|
||||
---
|
||||
title: Include tag parameters
|
||||
---
|
||||
|
||||
{% include sig.markdown myparam="test" %}
|
||||
{% assign path = "params" | append: ".html" %}
|
||||
{% include {{ path }}
|
||||
param="value" %}
|
||||
CONTENT
|
||||
create_post(content, {
|
||||
"permalink" => "pretty",
|
||||
"source" => source_dir,
|
||||
"destination" => dest_dir,
|
||||
"read_posts" => true,
|
||||
})
|
||||
end
|
||||
|
||||
should "correctly output include variable" do
|
||||
assert_match "<span id=\"include-param\">value</span>", @result.strip
|
||||
end
|
||||
|
||||
should "ignore parameters if unused" do
|
||||
assert_match "<hr />\n<p>Tom Preston-Werner\ngithub.com/mojombo</p>\n", @result
|
||||
end
|
||||
end
|
||||
|
||||
context "with invalid parameter syntax" do
|
||||
should "throw a ArgumentError" do
|
||||
content = <<CONTENT
|
||||
|
|
Loading…
Reference in New Issue