Skip to content
Permalink
Browse files

fix(compiler): stringify `Object.create(null)` tokens (#16848)

PR Close #16848
  • Loading branch information...
petebacondarwin authored and kara committed Mar 22, 2019
1 parent fad03c3 commit 5e53956c2ba8dba3316651b6bd8a7e4b1dd0e10c
Showing with 10 additions and 2 deletions.
  1. +4 −0 packages/compiler/src/util.ts
  2. +6 −2 packages/compiler/test/util_spec.ts
@@ -184,6 +184,10 @@ export function stringify(token: any): string {
return `${token.name}`;
}

if (!token.toString) {
return 'object';
}

// WARNING: do not try to `JSON.stringify(token)` here
// see https://github.com/angular/angular/issues/23440
const res = token.toString();
@@ -6,8 +6,7 @@
* found in the LICENSE file at https://angular.io/license
*/

import {fakeAsync} from '@angular/core/testing/src/fake_async';
import {SyncAsync, escapeRegExp, splitAtColon, utf8Encode} from '../src/util';
import {escapeRegExp, splitAtColon, stringify, utf8Encode} from '../src/util';

{
describe('util', () => {
@@ -75,5 +74,10 @@ import {SyncAsync, escapeRegExp, splitAtColon, utf8Encode} from '../src/util';
([input, output]: [string, string]) => { expect(utf8Encode(input)).toEqual(output); });
});
});

describe('stringify()', () => {
it('should handle objects with no prototype.',
() => { expect(stringify(Object.create(null))).toEqual('object'); });
});
});
}

0 comments on commit 5e53956

Please sign in to comment.
You can’t perform that action at this time.