96 lines
2.4 KiB
JavaScript
96 lines
2.4 KiB
JavaScript
// Options: --block-binding
|
|
|
|
assert.equal('', ``);
|
|
assert.equal('a', `a`);
|
|
assert.equal('"', `"`);
|
|
assert.equal("'", `'`);
|
|
assert.equal("`", `\``);
|
|
assert.equal('"', `\"`);
|
|
|
|
assert.equal('\\"', `\\"`);
|
|
assert.equal('"\\', `"\\`);
|
|
|
|
assert.equal('\n', `\n`);
|
|
assert.equal('\r', `\r`);
|
|
assert.equal('\r\n', `\r\n`);
|
|
assert.equal('\t', `\t`);
|
|
assert.equal('\u2028', `\u2028`);
|
|
assert.equal('\u2029', `\u2029`);
|
|
|
|
assert.equal('$', `$`);
|
|
assert.equal('$ a', `$ a`);
|
|
assert.equal('$ {a}', `$ {a}`);
|
|
|
|
assert.equal('undefined', `${ undefined }`);
|
|
assert.equal('null', `${ null }`);
|
|
|
|
{
|
|
let $ = 'DOLLAR';
|
|
let $$ = 'DD'
|
|
assert.equal('$$', `$$`);
|
|
assert.equal('DOLLAR', `${$}`);
|
|
assert.equal('$$$', `$$$`);
|
|
assert.equal('DOLLARDOLLAR', `${$}${$}`);
|
|
assert.equal('DOLLAR$$', `${$}$$`);
|
|
assert.equal('$$DOLLAR', `$$${$}`);
|
|
assert.equal('$$$', `\$$$`);
|
|
|
|
let a = 'A';
|
|
let b = 'B';
|
|
assert.equal('aAbB', `a${a}b${b}`);
|
|
assert.equal('aAb$b', `a${a}b$b`);
|
|
assert.equal('$a.$b', `$a.$b`);
|
|
|
|
let x = 3;
|
|
let y = 5;
|
|
|
|
assert.equal('3 + 5 = 8', `${x} + ${y} = ${ x + y}`);
|
|
|
|
// nested
|
|
assert.equal('3 + 5 = 8', `${x} + ${ `${y} = ${ `${x + y}` }` }`);
|
|
|
|
assert.equal('3', `${x}`);
|
|
assert.equal(' 3', ` ${x}`);
|
|
assert.equal('3 ', `${x} `);
|
|
assert.equal('35', `${x}${y}`);
|
|
assert.equal(' 35', ` ${x}${y}`);
|
|
assert.equal('3 5', `${x} ${y}`);
|
|
assert.equal('35 ', `${x}${y} `);
|
|
assert.equal(' 3 5 ', ` ${x} ${y} `);
|
|
|
|
// def s(x):
|
|
// return ' ' if x else ''
|
|
// for i in range(16):
|
|
// v = (s(i&8), s(i&4), s(i&2), s(i&1))
|
|
// print "assert.equal('%s3%s5%s8%s', `%s${x}%s${y}%s${x+y}%s`);" % (v+v)
|
|
assert.equal('358', `${x}${y}${x+y}`);
|
|
assert.equal('358 ', `${x}${y}${x+y} `);
|
|
assert.equal('35 8', `${x}${y} ${x+y}`);
|
|
assert.equal('35 8 ', `${x}${y} ${x+y} `);
|
|
assert.equal('3 58', `${x} ${y}${x+y}`);
|
|
assert.equal('3 58 ', `${x} ${y}${x+y} `);
|
|
assert.equal('3 5 8', `${x} ${y} ${x+y}`);
|
|
assert.equal('3 5 8 ', `${x} ${y} ${x+y} `);
|
|
assert.equal(' 358', ` ${x}${y}${x+y}`);
|
|
assert.equal(' 358 ', ` ${x}${y}${x+y} `);
|
|
assert.equal(' 35 8', ` ${x}${y} ${x+y}`);
|
|
assert.equal(' 35 8 ', ` ${x}${y} ${x+y} `);
|
|
assert.equal(' 3 58', ` ${x} ${y}${x+y}`);
|
|
assert.equal(' 3 58 ', ` ${x} ${y}${x+y} `);
|
|
assert.equal(' 3 5 8', ` ${x} ${y} ${x+y}`);
|
|
assert.equal(' 3 5 8 ', ` ${x} ${y} ${x+y} `);
|
|
}
|
|
|
|
// Line continuations
|
|
assert.equal('ab', `a\
|
|
b`);
|
|
assert.equal('ab', `a\
|
|
\
|
|
b`);
|
|
|
|
assert.equal('\n', `
|
|
`);
|
|
assert.equal('\n\n', `
|
|
|
|
`);
|