diff --git a/aio/package.json b/aio/package.json
index 05066c69e8..fb0ed4794d 100644
--- a/aio/package.json
+++ b/aio/package.json
@@ -88,13 +88,13 @@
"private": true,
"dependencies": {
"@angular/animations": "10.0.2",
- "@angular/cdk": "^9.2.2",
+ "@angular/cdk": "10.0.1",
"@angular/common": "10.0.2",
"@angular/compiler": "10.0.2",
"@angular/core": "10.0.2",
"@angular/elements": "10.0.2",
"@angular/forms": "10.0.2",
- "@angular/material": "^9.2.2",
+ "@angular/material": "10.0.1",
"@angular/platform-browser": "10.0.2",
"@angular/platform-browser-dynamic": "10.0.2",
"@angular/router": "10.0.2",
diff --git a/aio/src/app/shared/custom-icon-registry.spec.ts b/aio/src/app/shared/custom-icon-registry.spec.ts
index be35c3d136..45f6fe458b 100644
--- a/aio/src/app/shared/custom-icon-registry.spec.ts
+++ b/aio/src/app/shared/custom-icon-registry.spec.ts
@@ -1,27 +1,31 @@
+import { HttpClient } from '@angular/common/http';
+import { ErrorHandler } from '@angular/core';
import { MatIconRegistry } from '@angular/material/icon';
+import { DomSanitizer } from '@angular/platform-browser';
import { CustomIconRegistry, SvgIconInfo } from './custom-icon-registry';
describe('CustomIconRegistry', () => {
+ const fakeHttpClient: HttpClient = {} as any;
+ const fakeDomSanitizer: DomSanitizer = {} as any;
+ const fakeDocument: Document = {} as any;
+ const fakeErrorHandler: ErrorHandler = {handleError: err => console.error(err)};
+
it('should get the SVG element for a preloaded icon from the cache', () => {
- const mockHttp: any = {};
- const mockSanitizer: any = {};
- const mockDocument: any = {};
const svgSrc = '';
const svgIcons: SvgIconInfo[] = [
{ name: 'test_icon', svgSource: svgSrc }
];
- const registry = new CustomIconRegistry(mockHttp, mockSanitizer, mockDocument, svgIcons);
+
+ const registry = new CustomIconRegistry(
+ fakeHttpClient, fakeDomSanitizer, fakeDocument, fakeErrorHandler, svgIcons);
let svgElement: SVGElement|undefined;
registry.getNamedSvgIcon('test_icon').subscribe(el => svgElement = el);
+
expect(svgElement).toEqual(createSvg(svgSrc));
});
it('should support caching icons with a namespace', () => {
- const mockHttp: any = {};
- const mockSanitizer: any = {};
- const mockDocument: any = {};
-
const svgSrc1 = '';
const svgSrc2 = '';
const svgSrc3 = '';
@@ -31,7 +35,8 @@ describe('CustomIconRegistry', () => {
{ namespace: 'bar', name: 'test_icon', svgSource: svgSrc3 },
];
- const registry = new CustomIconRegistry(mockHttp, mockSanitizer, mockDocument, svgIcons);
+ const registry = new CustomIconRegistry(
+ fakeHttpClient, fakeDomSanitizer, fakeDocument, fakeErrorHandler, svgIcons);
let svgElement: SVGElement|undefined;
registry.getNamedSvgIcon('test_icon', 'foo').subscribe(el => svgElement = el);
@@ -39,9 +44,6 @@ describe('CustomIconRegistry', () => {
});
it('should call through to the MdIconRegistry if the icon name is not in the preloaded cache', () => {
- const mockHttp: any = {};
- const mockSanitizer: any = {};
- const mockDocument: any = {};
const svgSrc = '';
const svgIcons: SvgIconInfo[] = [
@@ -49,7 +51,8 @@ describe('CustomIconRegistry', () => {
];
spyOn(MatIconRegistry.prototype, 'getNamedSvgIcon');
- const registry = new CustomIconRegistry(mockHttp, mockSanitizer, mockDocument, svgIcons);
+ const registry = new CustomIconRegistry(
+ fakeHttpClient, fakeDomSanitizer, fakeDocument, fakeErrorHandler, svgIcons);
registry.getNamedSvgIcon('other_icon');
expect(MatIconRegistry.prototype.getNamedSvgIcon).toHaveBeenCalledWith('other_icon', undefined);
diff --git a/aio/src/app/shared/custom-icon-registry.ts b/aio/src/app/shared/custom-icon-registry.ts
index 156cf8b038..efa0a3605f 100644
--- a/aio/src/app/shared/custom-icon-registry.ts
+++ b/aio/src/app/shared/custom-icon-registry.ts
@@ -1,4 +1,4 @@
-import { InjectionToken, Inject, Injectable, Optional } from '@angular/core';
+import { ErrorHandler, InjectionToken, Inject, Injectable, Optional } from '@angular/core';
import { DOCUMENT } from '@angular/common';
import { of } from 'rxjs';
import { MatIconRegistry } from '@angular/material/icon';
@@ -42,8 +42,8 @@ export class CustomIconRegistry extends MatIconRegistry {
private preloadedSvgElements: SvgIconMap = {[DEFAULT_NS]: {}};
constructor(http: HttpClient, sanitizer: DomSanitizer, @Optional() @Inject(DOCUMENT) document: Document,
- @Inject(SVG_ICONS) svgIcons: SvgIconInfo[]) {
- super(http, sanitizer, document);
+ errorHandler: ErrorHandler, @Inject(SVG_ICONS) svgIcons: SvgIconInfo[]) {
+ super(http, sanitizer, document, errorHandler);
this.loadSvgElements(svgIcons);
}
diff --git a/aio/yarn.lock b/aio/yarn.lock
index 1afbe1a640..ef2326720b 100644
--- a/aio/yarn.lock
+++ b/aio/yarn.lock
@@ -127,10 +127,12 @@
dependencies:
tslib "^2.0.0"
-"@angular/cdk@^9.2.2":
- version "9.2.2"
- resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-9.2.2.tgz#776be85aa55146f00dcd4909b81c67da47286c75"
- integrity sha512-VNd+KuMN6cBcy4/8OyMxqYaxdjPP6IyCqIVijB2JREkc5Sg4VWmPgx2L3rHt/DzjsVBVRgx35uqOMymDezG3jQ==
+"@angular/cdk@10.0.1":
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-10.0.1.tgz#8e10317cd6fee4d9f8a3794998629496fb60e68b"
+ integrity sha512-tEgaTDQplptbOf4cHHdVScH0h5QNvkWDhabAWpWaT4/dVXEsp+p2E9Pzkemesi/gNmUIetVjGaicX5VqsijZSQ==
+ dependencies:
+ tslib "^2.0.0"
optionalDependencies:
parse5 "^5.0.0"
@@ -233,10 +235,12 @@
resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-10.0.2.tgz#31f22020be96ab2cf77283e0627f8a6fffedfe36"
integrity sha512-kEMJ3DkprpoGJvEjvH/PZrBKtgCbLtFYtrXHRDy2+92vgCT0Xz6TwzZ2qlwlQSijffOgsV5LwdjI4oxpgVKReQ==
-"@angular/material@^9.2.2":
- version "9.2.2"
- resolved "https://registry.yarnpkg.com/@angular/material/-/material-9.2.2.tgz#53b2d8a62fe48b79127cdf43b3b8b082e4c3df27"
- integrity sha512-gdQiMJ6PtW/5fd+0mglHFyzxULDCBGjn9RTET3sUq2rkc9+jBXr4OvnsUyBWSnqqv97XqotVDIx5JgE4/YX/Rw==
+"@angular/material@10.0.1":
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/@angular/material/-/material-10.0.1.tgz#f59988499d20ee4ab93292d7e9a9d16ce24839f0"
+ integrity sha512-4xGIupOiPbyYG/tTbVhgjATRZSRf+Xj2FGkX3csSlIOvhrFtN1B9gTlcbOjzWHPpWTFChZALzMXA/841KA9QqA==
+ dependencies:
+ tslib "^2.0.0"
"@angular/platform-browser-dynamic@10.0.2":
version "10.0.2"
diff --git a/goldens/size-tracking/aio-payloads.json b/goldens/size-tracking/aio-payloads.json
index 886658e1d6..b382fea53a 100755
--- a/goldens/size-tracking/aio-payloads.json
+++ b/goldens/size-tracking/aio-payloads.json
@@ -3,7 +3,7 @@
"master": {
"uncompressed": {
"runtime-es2015": 2987,
- "main-es2015": 451075,
+ "main-es2015": 450880,
"polyfills-es2015": 52685
}
}