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(