diff --git a/pmd-javascript/src/test/java/net/sourceforge/pmd/cpd/EcmascriptTokenizerTest.java b/pmd-javascript/src/test/java/net/sourceforge/pmd/cpd/EcmascriptTokenizerTest.java index eb3cb2f7cf..690baddeb3 100644 --- a/pmd-javascript/src/test/java/net/sourceforge/pmd/cpd/EcmascriptTokenizerTest.java +++ b/pmd-javascript/src/test/java/net/sourceforge/pmd/cpd/EcmascriptTokenizerTest.java @@ -118,4 +118,36 @@ public class EcmascriptTokenizerTest { sb.append( "}" ).append(PMD.EOL); return sb.toString(); } + + @Test + public void testTemplateStrings() throws IOException { + Tokenizer t = new EcmascriptTokenizer(); + SourceCode sourceCode = new SourceCode( new SourceCode.StringCodeLoader( + "export default class DrawLocation extends joint.shapes.basic.Generic {\n" + + " constructor(location: ILocation) {\n" + + " this.markup = `\n" + + " \n" + + " \n" + + "\n" + + " \n" + + " \n" + + " ${drawIndicators.Check.markup}\n" + + "\n" + + " `;\n" + + " }\n" + + "\n" + + "}") ); + final Tokens tokens = new Tokens(); + t.tokenize(sourceCode, tokens); + final String templateString = "`\n" + + " \n" + + " \n" + + "\n" + + " \n" + + " \n" + + " ${drawIndicators.Check.markup}\n" + + "\n" + + " `"; + assertEquals(templateString, tokens.getTokens().get(24).toString()); + } } \ No newline at end of file