fix(compiler): emits quoted keys only iff they are quoted in the original template
fixes #14292
This commit is contained in:

committed by
Jason Aden

parent
798947efa4
commit
9c1f6fd06f
@ -99,7 +99,13 @@ export function main() {
|
||||
expect(emitStmt(o.literal(true).toStmt())).toEqual('true;');
|
||||
expect(emitStmt(o.literal('someStr').toStmt())).toEqual(`'someStr';`);
|
||||
expect(emitStmt(o.literalArr([o.literal(1)]).toStmt())).toEqual(`[1];`);
|
||||
expect(emitStmt(o.literalMap([['someKey', o.literal(1)]]).toStmt())).toEqual(`{someKey:1};`);
|
||||
expect(emitStmt(o.literalMap([
|
||||
{key: 'someKey', value: o.literal(1), quoted: false},
|
||||
{key: 'a', value: o.literal('a'), quoted: false},
|
||||
{key: '*', value: o.literal('star'), quoted: true},
|
||||
]).toStmt())
|
||||
.replace(/\s+/gm, ''))
|
||||
.toEqual(`{someKey:1,a:'a','*':'star'};`);
|
||||
});
|
||||
|
||||
it('should break expressions into multiple lines if they are too long', () => {
|
||||
|
@ -151,7 +151,13 @@ export function main() {
|
||||
expect(emitStmt(o.literal(true).toStmt())).toEqual('true;');
|
||||
expect(emitStmt(o.literal('someStr').toStmt())).toEqual(`'someStr';`);
|
||||
expect(emitStmt(o.literalArr([o.literal(1)]).toStmt())).toEqual(`[1];`);
|
||||
expect(emitStmt(o.literalMap([['someKey', o.literal(1)]]).toStmt())).toEqual(`{someKey:1};`);
|
||||
expect(emitStmt(o.literalMap([
|
||||
{key: 'someKey', value: o.literal(1), quoted: false},
|
||||
{key: 'a', value: o.literal('a'), quoted: false},
|
||||
{key: '*', value: o.literal('star'), quoted: true},
|
||||
]).toStmt())
|
||||
.replace(/\s+/gm, ''))
|
||||
.toEqual(`{someKey:1,a:'a','*':'star'};`);
|
||||
});
|
||||
|
||||
it('should break expressions into multiple lines if they are too long', () => {
|
||||
@ -166,14 +172,6 @@ export function main() {
|
||||
].join('\n'));
|
||||
});
|
||||
|
||||
it('should apply quotes to each entry within a map produced with literalMap when true', () => {
|
||||
expect(
|
||||
emitStmt(
|
||||
o.literalMap([['a', o.literal('a')], ['*', o.literal('star')]], null, true).toStmt())
|
||||
.replace(/\s+/gm, ''))
|
||||
.toEqual(`{'a':'a','*':'star'};`);
|
||||
});
|
||||
|
||||
it('should support blank literals', () => {
|
||||
expect(emitStmt(o.literal(null).toStmt())).toEqual('(null as any);');
|
||||
expect(emitStmt(o.literal(undefined).toStmt())).toEqual('(undefined as any);');
|
||||
|
Reference in New Issue
Block a user