From 21ca2e9ce4255bfad2bb0576aff087a240acf70a Mon Sep 17 00:00:00 2001 From: Joshua Wong Date: Sat, 18 Jan 2020 14:33:15 +0800 Subject: [PATCH] Add support for newline characters in raw string shortcode --- parser/pageparser/pagelexer_shortcode.go | 2 +- parser/pageparser/pageparser_shortcode_test.go | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/parser/pageparser/pagelexer_shortcode.go b/parser/pageparser/pagelexer_shortcode.go index 8238425bf17..61ba43f2c6a 100644 --- a/parser/pageparser/pagelexer_shortcode.go +++ b/parser/pageparser/pagelexer_shortcode.go @@ -165,7 +165,7 @@ Loop: 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()) } } diff --git a/parser/pageparser/pageparser_shortcode_test.go b/parser/pageparser/pageparser_shortcode_test.go index 8d1ebda2f7c..b8bf5f7276d 100644 --- a/parser/pageparser/pageparser_shortcode_test.go +++ b/parser/pageparser/pageparser_shortcode_test.go @@ -89,6 +89,12 @@ var shortCodeLexerTests = []lexerTest{ 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