diff --git a/basis/html/templates/fhtml/fhtml-tests.factor b/basis/html/templates/fhtml/fhtml-tests.factor index 55cf90c2dd..427b3215c1 100644 --- a/basis/html/templates/fhtml/fhtml-tests.factor +++ b/basis/html/templates/fhtml/fhtml-tests.factor @@ -1,5 +1,5 @@ USING: io io.files io.streams.string io.encodings.utf8 -html.templates html.templates.fhtml kernel +html.templates html.templates.fhtml kernel multiline tools.test sequences parser splitting prettyprint ; IN: html.templates.fhtml.tests @@ -17,3 +17,14 @@ IN: html.templates.fhtml.tests [ [ ] [ "<%\n%>" parse-template drop ] unit-test ] with-file-vocabs + +[ + [ ] [ + <" + <% + IN: html.templates.fhtml.tests + : test-word ( -- ) ; + %> + "> parse-template drop + ] unit-test +] with-file-vocabs diff --git a/basis/html/templates/fhtml/fhtml.factor b/basis/html/templates/fhtml/fhtml.factor index 6c5e78e917..ceb2e72478 100644 --- a/basis/html/templates/fhtml/fhtml.factor +++ b/basis/html/templates/fhtml/fhtml.factor @@ -4,7 +4,7 @@ USING: continuations sequences kernel namespaces debugger combinators math quotations generic strings splitting accessors assocs fry vocabs.parser parser parser.notes lexer io io.files -io.streams.string io.encodings.utf8 html.templates ; +io.streams.string io.encodings.utf8 html.templates compiler.units ; IN: html.templates.fhtml ! We use a custom lexer so that %> ends a token even if not @@ -58,11 +58,13 @@ SYNTAX: %> lexer get parse-%> ; : parse-template ( string -- quot ) [ + [ "quiet" on parser-notes off "html.templates.fhtml" use-vocab string-lines parse-template-lines - ] with-file-vocabs ; + ] with-file-vocabs + ] with-compilation-unit ; : eval-template ( string -- ) parse-template call( -- ) ;