From cd271f1a8bd33712f90dc91d0105bc6674e8c6a4 Mon Sep 17 00:00:00 2001 From: Fabian Jakobs Date: Mon, 28 Nov 2011 17:38:58 +0100 Subject: [PATCH] add failing unit test for #510 --- demo/kitchen-sink/docs/coffeescript.coffee | 4 +++- lib/ace/mode/coffee_highlight_rules.js | 2 ++ lib/ace/mode/coffee_tokenizer_test.js | 7 +++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/demo/kitchen-sink/docs/coffeescript.coffee b/demo/kitchen-sink/docs/coffeescript.coffee index 521fdc57..a7e50d08 100644 --- a/demo/kitchen-sink/docs/coffeescript.coffee +++ b/demo/kitchen-sink/docs/coffeescript.coffee @@ -17,4 +17,6 @@ do -> heregex # comment ///imgy this isnt: `just JavaScript` - undefined \ No newline at end of file + undefined + +sentence = "#{ 22 / 7 } is a decent approximation of π" \ No newline at end of file diff --git a/lib/ace/mode/coffee_highlight_rules.js b/lib/ace/mode/coffee_highlight_rules.js index 4f1be77b..ca5a0b9b 100644 --- a/lib/ace/mode/coffee_highlight_rules.js +++ b/lib/ace/mode/coffee_highlight_rules.js @@ -179,12 +179,14 @@ define(function(require, exports, module) { qstring : [{ token : "string", regex : "[^\\\\']*(?:\\\\.[^\\\\']*)*'", + merge : true, next : "start" }, stringfill], qqstring : [{ token : "string", regex : '[^\\\\"]*(?:\\\\.[^\\\\"]*)*"', + merge : true, next : "start" }, stringfill], diff --git a/lib/ace/mode/coffee_tokenizer_test.js b/lib/ace/mode/coffee_tokenizer_test.js index 9eeb55a2..20f8146d 100644 --- a/lib/ace/mode/coffee_tokenizer_test.js +++ b/lib/ace/mode/coffee_tokenizer_test.js @@ -53,6 +53,13 @@ module.exports = { var tokens = this.tokenizer.getLineTokens("for", "start").tokens; assert.equal(tokens.length, 1); assert.equal(tokens[0].type, "keyword"); + }, + + "test tokenize string with interpolation": function() { + var tokens = this.tokenizer.getLineTokens('"#{ 22 / 7 } is a decent approximation of π"', "start").tokens; + console.log(tokens); + assert.equal(tokens.length, 12); + //assert.equal(tokens[0].type, "keyword"); } };