From 1af897178090da94980ca8eed54b58d45f131b4a Mon Sep 17 00:00:00 2001 From: crisbeto Date: Wed, 2 May 2018 18:39:25 +0200 Subject: [PATCH] fix(icon): log full error message when icon set fails to load Currently when an icon request fails, we log something along the lines of `"Loading icon set URL: {{url}} failed: [object Object]"`. These changes switch to logging out the error message rather than the entire object. --- src/lib/icon/icon-registry.ts | 12 ++++++------ src/lib/icon/icon.spec.ts | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/lib/icon/icon-registry.ts b/src/lib/icon/icon-registry.ts index 026fe90fdd48..2d6c2bac5f43 100644 --- a/src/lib/icon/icon-registry.ts +++ b/src/lib/icon/icon-registry.ts @@ -7,7 +7,7 @@ */ import {DOCUMENT} from '@angular/common'; -import {HttpClient} from '@angular/common/http'; +import {HttpClient, HttpErrorResponse} from '@angular/common/http'; import { Inject, Injectable, @@ -353,12 +353,12 @@ export class MatIconRegistry { .filter(iconSetConfig => !iconSetConfig.svgElement) .map(iconSetConfig => { return this._loadSvgIconSetFromConfig(iconSetConfig).pipe( - catchError((err: any): Observable => { - let url = this._sanitizer.sanitize(SecurityContext.RESOURCE_URL, iconSetConfig.url); + catchError((err: HttpErrorResponse): Observable => { + const url = this._sanitizer.sanitize(SecurityContext.RESOURCE_URL, iconSetConfig.url); - // Swallow errors fetching individual URLs so the combined Observable won't - // necessarily fail. - console.log(`Loading icon set URL: ${url} failed: ${err}`); + // Swallow errors fetching individual URLs so the + // combined Observable won't necessarily fail. + console.error(`Loading icon set URL: ${url} failed: ${err.message}`); return observableOf(null); }) ); diff --git a/src/lib/icon/icon.spec.ts b/src/lib/icon/icon.spec.ts index 99f8d5a61bcc..61a056e63e75 100644 --- a/src/lib/icon/icon.spec.ts +++ b/src/lib/icon/icon.spec.ts @@ -428,9 +428,9 @@ describe('MatIcon', () => { })); it('should throw an error when using untrusted HTML', () => { - // Stub out console.warn so we don't pollute our logs with Angular's warnings. + // Stub out console.error so we don't pollute our logs with Angular's warnings. // Jasmine will tear the spy down at the end of the test. - spyOn(console, 'warn'); + spyOn(console, 'error'); expect(() => { iconRegistry.addSvgIconLiteral('circle', '');