ref: 21ca2e9ce4255bfad2bb0576aff087a240acf70a
parent: 3efa1d81219a6e7b41c9676e9cab446741f69055
author: Joshua Wong <joshwonghc@gmail.com>
date: Sat Jan 18 09:33:15 EST 2020
Add support for newline characters in raw string shortcode
--- a/parser/pageparser/pagelexer_shortcode.go
+++ b/parser/pageparser/pagelexer_shortcode.go
@@ -165,7 +165,7 @@
openBacktickFound = true
l.ignore()
}
- case r == eof, r == '\n':
+ case r == eof:
return l.errorf("unterminated raw string in shortcode parameter-argument: '%s'", l.current())
}
}
--- a/parser/pageparser/pageparser_shortcode_test.go
+++ b/parser/pageparser/pageparser_shortcode_test.go
@@ -89,6 +89,12 @@
tstLeftNoMD, tstSC1, nti(tScParam, "-ziL-.%QigdO-4"), tstRightNoMD, tstEOF}},
{"raw string", `{{< sc1` + "`" + "Hello World" + "`" + ` >}}`, []Item{
tstLeftNoMD, tstSC1, nti(tScParam, "Hello World"), tstRightNoMD, tstEOF}},
+ {"raw string with newline", `{{< sc1` + "`" + `Hello
+ World` + "`" + ` >}}`, []Item{
+ tstLeftNoMD, tstSC1, nti(tScParam, `Hello
+ World`), tstRightNoMD, tstEOF}},
+ {"raw string with escape character", `{{< sc1` + "`" + `Hello \b World` + "`" + ` >}}`, []Item{
+ tstLeftNoMD, tstSC1, nti(tScParam, `Hello \b World`), tstRightNoMD, tstEOF}},
{"two params", `{{< sc1 param1 param2 >}}`, []Item{
tstLeftNoMD, tstSC1, tstParam1, tstParam2, tstRightNoMD, tstEOF}},
// issue #934