TypeScript: test case for tokenization of template literals

This commit is contained in:
Asger F
2018-10-01 14:36:19 +01:00
parent c7137cee75
commit 9146cc26bd
4 changed files with 27 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
| templateLiteralsJS.js:2 | console . log ( ` template~without~placeholders ` ) ; |
| templateLiteralsJS.js:3 | console . log ( ` template~with~placeholder~ ${ x } . ` ) ; |
| templateLiteralsTS.ts:2 | console . log ( `template~without~placeholders` ) ; |
| templateLiteralsTS.ts:3 | console . log ( `template~with~placeholder~${ x }.` ) ; |

View File

@@ -0,0 +1,15 @@
import javascript
Token getATokenAtLine(File file, int line) {
result.getFile() = file and
result.getLocation().getStartLine() = line
}
bindingset[line]
string getTokenStringAtLine(File file, int line) {
result = concat(Token tok | tok = getATokenAtLine(file, line) | tok.toString().replaceAll(" ", "~") + " " order by tok.getLocation().getStartColumn())
}
from File file, int line
where exists(CallExpr call | call.getFile() = file and call.getLocation().getStartLine() = line)
select file.getBaseName() + ":" + line, getTokenStringAtLine(file, line)

View File

@@ -0,0 +1,4 @@
function f(x) {
console.log(`template without placeholders`);
console.log(`template with placeholder ${x}.`);
}

View File

@@ -0,0 +1,4 @@
function f(x) {
console.log(`template without placeholders`);
console.log(`template with placeholder ${x}.`);
}