From c8eac002e6de0ceadb0cc298e712fb71c2d782be Mon Sep 17 00:00:00 2001 From: Bronley Plumb Date: Wed, 4 Sep 2024 11:46:40 -0400 Subject: [PATCH] Add failing test. Haven't fixed issue yet. --- src/lexer/Lexer.spec.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/lexer/Lexer.spec.ts b/src/lexer/Lexer.spec.ts index ee785fac8..c71c4e433 100644 --- a/src/lexer/Lexer.spec.ts +++ b/src/lexer/Lexer.spec.ts @@ -452,6 +452,23 @@ describe('lexer', () => { // template string literals describe('template string literals', () => { + it.only('handles nested curly braces', () => { + let tokens = Lexer.scan('thing = `${{}}`').tokens; + expect(tokens.map(x => x.kind)).to.eql([ + TokenKind.Identifier, + TokenKind.Equal, + TokenKind.BackTick, + TokenKind.TemplateStringQuasi, + TokenKind.TemplateStringExpressionBegin, + TokenKind.LeftCurlyBrace, + TokenKind.RightCurlyBrace, + TokenKind.TemplateStringExpressionEnd, + TokenKind.TemplateStringQuasi, + TokenKind.BackTick, + TokenKind.Eof + ]); + }); + it('supports escaped chars', () => { let { tokens } = Lexer.scan('`\\n\\`\\r\\n`'); expect(tokens.map(t => t.kind)).to.deep.equal([