From 3c5a605690c93056856747600c73fda2ca622173 Mon Sep 17 00:00:00 2001 From: Sahab Yazdani Date: Wed, 27 Apr 2011 12:39:43 -0400 Subject: [PATCH] reintroduce {{! !}} comment syntax for backwards compatibility. --- mustache.js | 4 ++-- test/unit.js | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/mustache.js b/mustache.js index 7dd6033..90ebb87 100644 --- a/mustache.js +++ b/mustache.js @@ -125,7 +125,7 @@ var Mustache = (function(undefined) { return token.match(/\r?\n/)!==null; } - var default_tokenizer = /(\r?\n)|({{![\s\S]*?}})|({{[#\^\/&{>=]?\s*\S*?\s*}?}})|({{=\S*?\s*\S*?=}})/; + var default_tokenizer = /(\r?\n)|({{![\s\S]*?!}})|({{[#\^\/&{>=]?\s*\S*?\s*}?}})|({{=\S*?\s*\S*?=}})/; function create_parser_context(template, partials, openTag, closeTag) { openTag = openTag || '{{'; closeTag = closeTag || '}}'; @@ -137,7 +137,7 @@ var Mustache = (function(undefined) { var rOTag = escape_regex(openTag), rETag = escape_regex(closeTag); - tokenizer = new RegExp('(\\r?\\n)|(' + rOTag + '![\\s\\S]*?' + rETag + ')|(' + rOTag + '[#\^\/&{>=]?\\s*\\S*?\\s*}?' + rETag + ')|(' + rOTag + '=\\S*?\\s*\\S*?=' + rETag + ')'); + tokenizer = new RegExp('(\\r?\\n)|(' + rOTag + '![\\s\\S]*?!' + rETag + ')|(' + rOTag + '[#\^\/&{>=]?\\s*\\S*?\\s*}?' + rETag + ')|(' + rOTag + '=\\S*?\\s*\\S*?=' + rETag + ')'); } var code = []; diff --git a/test/unit.js b/test/unit.js index 7b7ffae..c181313 100644 --- a/test/unit.js +++ b/test/unit.js @@ -412,13 +412,10 @@ test("'!' (Comments)", function() { '', 'Multiline Comments'); - /* - * According to mustache-spec, comments cannot contain the }} character, so this test is useless equals( Mustache.to_html('{{!this {{is}} {{#a}} {{/multiline}} comment\ni {{^said}} ! hello !! bye!}}'), '', 'Correct tokenization'); - */ // matches comments.html equals(