Giter Club home page Giter Club logo

mean-stack-angular6-crud-example's Introduction

MEAN Stack Angular 6 CRUD Web Application

This source codes if part of MEAN Stack Angular 6 CRUD Web Application tutorial.

This project was generated with Angular CLI version 6.0.1.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.

mean-stack-angular6-crud-example's People

Contributors

didinj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mean-stack-angular6-crud-example's Issues

double results after ng lint

Here is example:

ERROR: ...src/app/api.service.ts[9, 16]: " should be '
ERROR: ...src/app/api.service.ts[9, 16]: " should be '
ERROR: ...src/app/api.service.ts[31, 4]: Unnecessary semicolon
ERROR: ...src/app/api.service.ts[31, 4]: Unnecessary semicolon
ERROR: ...src/app/api.service.ts[34, 9]: Identifier 'body' is never reassigned; use 'const' instead of 'let'.
ERROR: ...src/app/api.service.ts[34, 9]: Identifier 'body' is never reassigned; use 'const' instead of 'let'.

and so on...

Do u also have it?
Does it look as tslint issue or ng cli due to the fact I have global and local version?

Note: I tried to uninstall global, and then ng is not linked by npm to local.
I tried to npm link but it doens't work.

@didinj any ideas?

bug

dev@dev-x:/Documentos/mean-stack-angular6-crud-example$ sudo rm -r node_modules/
dev@dev-x:
/Documentos/mean-stack-angular6-crud-example$ yarn install
yarn install v1.7.0
[1/4] Resolving packages...
[2/4] Fetching packages...
info [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning "@angular-devkit/build-angular > @ngtools/[email protected]" has incorrect peer dependency "typescript@~2.4.0 || ~2.5.0 || ~2.6.0 || 2.7.0".
warning " > @angular/[email protected]" has incorrect peer dependency "typescript@>=2.7.2 <2.8".
warning "@angular/compiler-cli > [email protected]" has incorrect peer dependency "typescript@>=2.4.2 <2.9".
[4/4] Building fresh packages...
Done in 108.50s.
dev@dev-x:
/Documentos/mean-stack-angular6-crud-example$ ng serve

@angular/[email protected] requires typescript@'>=2.7.0 <2.8.0' but 2.9.2 was found instead.
Using this version can result in undefined behaviour and difficult to debug problems.

Please run the following command to install a compatible version of TypeScript.

npm install typescript@'>=2.7.0 <2.8.0'

To disable this warning run "ng config cli.warnings.typescriptMismatch false".

** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **

Date: 2018-07-01T08:55:45.534Z
Hash: 8fc7405462ea13a05a5e
Time: 13732ms
chunk {main} main.js, main.js.map (main) 1.96 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 699 bytes [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 5.22 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 74.7 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 325 kB [initial] [rendered]

ERROR in The Angular Compiler requires TypeScript >=2.7.2 and <2.8.0 but 2.9.2 was found instead.
ℹ 「wdm」: Failed to compile.

8 failed tests by default

I clonned mean-stack-angular6-crud-example, then npm install

U also have it?

(node:41415) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
 10% building modules 3/3 modules 0 active26 07 2018 00:30:45.425:WARN [karma]: No captured browser, open http://localhost:9876/
26 07 2018 00:30:45.437:INFO [karma]: Karma v1.7.1 server started at http://0.0.0.0:9876/
26 07 2018 00:30:45.438:INFO [launcher]: Launching browser Chrome with unlimited concurrency
 10% building modules 3/4 modules 1 active …ar6-crud-example/src sync /\.spec\.ts$/26 07 2018 00:30:45.443:INFO [launcher]: Starting browser Chrome
26 07 2018 00:30:50.400:WARN [karma]: No captured browser, open http://localhost:9876/    
26 07 2018 00:30:50.471:INFO [Chrome 67.0.3396 (Mac OS X 10.13.6)]: Connected on socket Bjn5wQgyqd8enBneAAAA with id 71158845
Chrome 67.0.3396 (Mac OS X 10.13.6): Executed 0 of 8 SUCCESS (0 secs / 0 secs)
Chrome 67.0.3396 (Mac OS X 10.13.6) ApiService should be created FAILED
	Error: StaticInjectorError(DynamicTestModule)[ApiService -> HttpClient]: 
	  StaticInjectorError(Platform: core)[ApiService -> HttpClient]: 
	    NullInjectorError: No provider for HttpClient!
	    at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get node_modules/@angular/core/fesm5/core.js:979:1)
	    at resolveToken node_modules/@angular/core/fesm5/core.js:1232:1)
	    at tryResolveToken node_modules/@angular/core/fesm5/core.js:1182:1)
	    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get node_modules/@angular/core/fesm5/core.js:1077:1)
	    at resolveToken node_modules/@angular/core/fesm5/core.js:1232:1)
	    at tryResolveToken node_modules/@angular/core/fesm5/core.js:1182:1)
	    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get node_modules/@angular/core/fesm5/core.js:1077:1)
	    at resolveNgModuleDep node_modules/@angular/core/fesm5/core.js:9217:1)
	    at _createClass node_modules/@angular/core/fesm5/core.js:9262:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) ApiService should be created FAILED
	Error: StaticInjectorError(DynamicTestModule)[ApiService -> HttpClient]: 
	  StaticInjectorError(Platform: core)[ApiService -> HttpClient]: 
	    NullInjectorError: No provider for HttpClient!
	    at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get node_modules/@angular/core/fesm5/core.js:979:1)
	    at resolveToken node_modules/@angular/core/fesm5/core.js:1232:1)
	    at tryResolveToken node_modules/@angular/core/fesm5/core.js:1182:1)
	    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get node_modules/@angular/core/fesm5/core.js:1077:1)
	    at resolveToken node_modules/@angular/core/fesm5/core.js:1232:1)
	    at tryResolveToken node_modules/@angular/core/fesm5/core.js:1182:1)
	    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get node_modules/@angular/core/fesm5/core.js:1077:1)
	    at resolveNgModuleDep node_modules/@angular/core/fesm5/core.js:9217:1)
	    at _createClass node_modules/@angular/core/fesm5/core.js:9262:1)
	    at _createProviderInstance$1 node_modules/@angular/core/fesm5/core.js:9234:1)
Chrome 67.0.3396 (Mac OS X 10.13.6): Executed 1 of 8 (1 FAILED) (0 secs / 0.054 secs)
Chrome 67.0.3396 (Mac OS X 10.13.6) ApiService should be created FAILED
	Error: StaticInjectorError(DynamicTestModule)[ApiService -> HttpClient]: 
	  StaticInjectorError(Platform: core)[ApiService -> HttpClient]: 
	    NullInjectorError: No provider for HttpClient!
	    at NullInjector.push../node_modules/@angular/core/fesm5/core.js.NullInjector.get node_modules/@angular/core/fesm5/core.js:979:1)
	    at resolveToken node_modules/@angular/core/fesm5/core.js:1232:1)
	    at tryResolveToken node_modules/@angular/core/fesm5/core.js:1182:1)
	    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get node_modules/@angular/core/fesm5/core.js:1077:1)
	    at resolveToken node_modules/@angular/core/fesm5/core.js:1232:1)
	    at tryResolveToken node_modules/@angular/core/fesm5/core.js:1182:1)
	    at StaticInjector.push../node_modules/@angular/core/fesm5/core.js.StaticInjector.get node_modules/@angular/core/fesm5/core.js:1077:1)
	    at resolveNgModuleDep node_modules/@angular/core/fesm5/core.js:9217:1)
	    at _createClass node_modules/@angular/core/fesm5/core.js:9262:1)
	    at _createProviderInstance$1 node_modules/@angular/core/fesm5/core.js:9234:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) AppComponent should create the app FAILED
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
Chrome 67.0.3396 (Mac OS X 10.13.6) AppComponent should create the app FAILED
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
Chrome 67.0.3396 (Mac OS X 10.13.6): Executed 2 of 8 (2 FAILED) (0 secs / 0.094 secs)
Chrome 67.0.3396 (Mac OS X 10.13.6) AppComponent should create the app FAILED
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) AppComponent should have as title 'app' FAILED
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
Chrome 67.0.3396 (Mac OS X 10.13.6) AppComponent should have as title 'app' FAILED
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
Chrome 67.0.3396 (Mac OS X 10.13.6): Executed 3 of 8 (3 FAILED) (0 secs / 0.112 secs)
Chrome 67.0.3396 (Mac OS X 10.13.6) AppComponent should have as title 'app' FAILED
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) AppComponent should render title in a h1 tag FAILED
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
Chrome 67.0.3396 (Mac OS X 10.13.6) AppComponent should render title in a h1 tag FAILED
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
Chrome 67.0.3396 (Mac OS X 10.13.6): Executed 4 of 8 (4 FAILED) (0 secs / 0.13 secs)
Chrome 67.0.3396 (Mac OS X 10.13.6) AppComponent should render title in a h1 tag FAILED
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>
	"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookCreateComponent should create FAILED
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit"): ng:///DynamicTestModule/BookCreateComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookCreateComponent.html@1:65
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookCreateComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookCreateComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookCreateComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookCreateComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookCreateComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookCreateComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookCreateComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookCreateComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookCreateComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookCreateComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookCreateComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookCreateComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookCreateComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookCreateComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookCreateComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookCreateComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookCreateComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookCreateComponent.html@47:89
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit"): ng:///DynamicTestModule/BookCreateComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookCreateComponent.html@1:65
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookCreateComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookCreateComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookCreateComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookCreateComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookCreateComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookCreateComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookCreateComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookCreateComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookCreateComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookCreateComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookCreateComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookCreateComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookCreateComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookCreateComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookCreateComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookCreateComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookCreateComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookCreateComponent.html@47:89
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book-create/book-create.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookCreateComponent should create FAILED
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit"): ng:///DynamicTestModule/BookCreateComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookCreateComponent.html@1:65
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookCreateComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookCreateComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookCreateComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookCreateComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookCreateComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookCreateComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookCreateComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookCreateComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookCreateComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookCreateComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookCreateComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookCreateComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookCreateComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookCreateComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookCreateComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookCreateComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookCreateComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookCreateComponent.html@47:89
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit"): ng:///DynamicTestModule/BookCreateComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookCreateComponent.html@1:65
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookCreateComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookCreateComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookCreateComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookCreateComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookCreateComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookCreateComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookCreateComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookCreateComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookCreateComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookCreateComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookCreateComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookCreateComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookCreateComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookCreateComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookCreateComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookCreateComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookCreateComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookCreateComponent.html@47:89
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book-create/book-create.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:387:1)
Chrome 67.0.3396 (Mac OS X 10.13.6): Executed 5 of 8 (5 FAILED) (0 secs / 0.253 secs)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookCreateComponent should create FAILED
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit"): ng:///DynamicTestModule/BookCreateComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookCreateComponent.html@1:65
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookCreateComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookCreateComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookCreateComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookCreateComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookCreateComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookCreateComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookCreateComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookCreateComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookCreateComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookCreateComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookCreateComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookCreateComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookCreateComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookCreateComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookCreateComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookCreateComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookCreateComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookCreateComponent.html@47:89
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit"): ng:///DynamicTestModule/BookCreateComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookCreateComponent.html@1:65
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookCreateComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookCreateComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookCreateComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookCreateComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookCreateComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookCreateComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookCreateComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookCreateComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookCreateComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookCreateComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookCreateComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookCreateComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookCreateComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookCreateComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookCreateComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookCreateComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookCreateComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookCreateComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookCreateComponent.html@47:89
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book-create/book-create.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:387:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookDetailComponent should create FAILED
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:65
	'mat-card-title' is not a known element:
	1. If 'mat-card-title' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-title' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	<mat-card class="example-card">
	  <mat-card-header>
	    [ERROR ->]<mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle>{{book.description}}<"): ng:///DynamicTestModule/BookDetailComponent.html@5:4
	'mat-card-subtitle' is not a known element:
	1. If 'mat-card-subtitle' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-subtitle' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    [ERROR ->]<mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  <mat-card-content>"): ng:///DynamicTestModule/BookDetailComponent.html@6:4
	'mat-card-header' is not a known element:
	1. If 'mat-card-header' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-header' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<mat-card class="example-card">
	  [ERROR ->]<mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle"): ng:///DynamicTestModule/BookDetailComponent.html@4:2
	'mat-card-content' is not a known element:
	1. If 'mat-card-content' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-content' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    <mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  [ERROR ->]<mat-card-content>
	    <dl>
	      <dt>ISBN:</dt>
	"): ng:///DynamicTestModule/BookDetailComponent.html@8:2
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("
	  </mat-card-content>
	  <mat-card-actions>
	    <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-edit', book._id]"><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="): ng:///DynamicTestModule/BookDetailComponent.html@23:41
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]">[ERROR ->]<mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)"><m"): ng:///DynamicTestModule/BookDetailComponent.html@23:81
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)">[ERROR ->]<mat-icon>delete</mat-icon></a>
	  </mat-card-actions>
	</mat-card>
	"): ng:///DynamicTestModule/BookDetailComponent.html@24:69
	'mat-card-actions' is not a known element:
	1. If 'mat-card-actions' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-actions' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </dl>
	  </mat-card-content>
	  [ERROR ->]<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]"><"): ng:///DynamicTestModule/BookDetailComponent.html@22:2
	'mat-card' is not a known element:
	1. If 'mat-card' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<a mat-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	[ERROR ->]<mat-card class="example-card">
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-"): ng:///DynamicTestModule/BookDetailComponent.html@3:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:65
	'mat-card-title' is not a known element:
	1. If 'mat-card-title' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-title' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	<mat-card class="example-card">
	  <mat-card-header>
	    [ERROR ->]<mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle>{{book.description}}<"): ng:///DynamicTestModule/BookDetailComponent.html@5:4
	'mat-card-subtitle' is not a known element:
	1. If 'mat-card-subtitle' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-subtitle' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    [ERROR ->]<mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  <mat-card-content>"): ng:///DynamicTestModule/BookDetailComponent.html@6:4
	'mat-card-header' is not a known element:
	1. If 'mat-card-header' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-header' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<mat-card class="example-card">
	  [ERROR ->]<mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle"): ng:///DynamicTestModule/BookDetailComponent.html@4:2
	'mat-card-content' is not a known element:
	1. If 'mat-card-content' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-content' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    <mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  [ERROR ->]<mat-card-content>
	    <dl>
	      <dt>ISBN:</dt>
	"): ng:///DynamicTestModule/BookDetailComponent.html@8:2
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("
	  </mat-card-content>
	  <mat-card-actions>
	    <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-edit', book._id]"><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="): ng:///DynamicTestModule/BookDetailComponent.html@23:41
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]">[ERROR ->]<mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)"><m"): ng:///DynamicTestModule/BookDetailComponent.html@23:81
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)">[ERROR ->]<mat-icon>delete</mat-icon></a>
	  </mat-card-actions>
	</mat-card>
	"): ng:///DynamicTestModule/BookDetailComponent.html@24:69
	'mat-card-actions' is not a known element:
	1. If 'mat-card-actions' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-actions' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </dl>
	  </mat-card-content>
	  [ERROR ->]<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]"><"): ng:///DynamicTestModule/BookDetailComponent.html@22:2
	'mat-card' is not a known element:
	1. If 'mat-card' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<a mat-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	[ERROR ->]<mat-card class="example-card">
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-"): ng:///DynamicTestModule/BookDetailComponent.html@3:0
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book-detail/book-detail.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookDetailComponent should create FAILED
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:65
	'mat-card-title' is not a known element:
	1. If 'mat-card-title' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-title' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	<mat-card class="example-card">
	  <mat-card-header>
	    [ERROR ->]<mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle>{{book.description}}<"): ng:///DynamicTestModule/BookDetailComponent.html@5:4
	'mat-card-subtitle' is not a known element:
	1. If 'mat-card-subtitle' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-subtitle' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    [ERROR ->]<mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  <mat-card-content>"): ng:///DynamicTestModule/BookDetailComponent.html@6:4
	'mat-card-header' is not a known element:
	1. If 'mat-card-header' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-header' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<mat-card class="example-card">
	  [ERROR ->]<mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle"): ng:///DynamicTestModule/BookDetailComponent.html@4:2
	'mat-card-content' is not a known element:
	1. If 'mat-card-content' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-content' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    <mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  [ERROR ->]<mat-card-content>
	    <dl>
	      <dt>ISBN:</dt>
	"): ng:///DynamicTestModule/BookDetailComponent.html@8:2
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("
	  </mat-card-content>
	  <mat-card-actions>
	    <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-edit', book._id]"><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="): ng:///DynamicTestModule/BookDetailComponent.html@23:41
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]">[ERROR ->]<mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)"><m"): ng:///DynamicTestModule/BookDetailComponent.html@23:81
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)">[ERROR ->]<mat-icon>delete</mat-icon></a>
	  </mat-card-actions>
	</mat-card>
	"): ng:///DynamicTestModule/BookDetailComponent.html@24:69
	'mat-card-actions' is not a known element:
	1. If 'mat-card-actions' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-actions' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </dl>
	  </mat-card-content>
	  [ERROR ->]<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]"><"): ng:///DynamicTestModule/BookDetailComponent.html@22:2
	'mat-card' is not a known element:
	1. If 'mat-card' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<a mat-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	[ERROR ->]<mat-card class="example-card">
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-"): ng:///DynamicTestModule/BookDetailComponent.html@3:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:65
	'mat-card-title' is not a known element:
	1. If 'mat-card-title' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-title' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	<mat-card class="example-card">
	  <mat-card-header>
	    [ERROR ->]<mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle>{{book.description}}<"): ng:///DynamicTestModule/BookDetailComponent.html@5:4
	'mat-card-subtitle' is not a known element:
	1. If 'mat-card-subtitle' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-subtitle' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    [ERROR ->]<mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  <mat-card-content>"): ng:///DynamicTestModule/BookDetailComponent.html@6:4
	'mat-card-header' is not a known element:
	1. If 'mat-card-header' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-header' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<mat-card class="example-card">
	  [ERROR ->]<mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle"): ng:///DynamicTestModule/BookDetailComponent.html@4:2
	'mat-card-content' is not a known element:
	1. If 'mat-card-content' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-content' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    <mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  [ERROR ->]<mat-card-content>
	    <dl>
	      <dt>ISBN:</dt>
	"): ng:///DynamicTestModule/BookDetailComponent.html@8:2
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("
	  </mat-card-content>
	  <mat-card-actions>
	    <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-edit', book._id]"><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="): ng:///DynamicTestModule/BookDetailComponent.html@23:41
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]">[ERROR ->]<mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)"><m"): ng:///DynamicTestModule/BookDetailComponent.html@23:81
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)">[ERROR ->]<mat-icon>delete</mat-icon></a>
	  </mat-card-actions>
	</mat-card>
	"): ng:///DynamicTestModule/BookDetailComponent.html@24:69
	'mat-card-actions' is not a known element:
	1. If 'mat-card-actions' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-actions' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </dl>
	  </mat-card-content>
	  [ERROR ->]<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]"><"): ng:///DynamicTestModule/BookDetailComponent.html@22:2
	'mat-card' is not a known element:
	1. If 'mat-card' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<a mat-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	[ERROR ->]<mat-card class="example-card">
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-"): ng:///DynamicTestModule/BookDetailComponent.html@3:0
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book-detail/book-detail.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:387:1)
Chrome 67.0.3396 (Mac OS X 10.13.6): Executed 6 of 8 (6 FAILED) (0 secs / 0.275 secs)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookDetailComponent should create FAILED
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:65
	'mat-card-title' is not a known element:
	1. If 'mat-card-title' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-title' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	<mat-card class="example-card">
	  <mat-card-header>
	    [ERROR ->]<mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle>{{book.description}}<"): ng:///DynamicTestModule/BookDetailComponent.html@5:4
	'mat-card-subtitle' is not a known element:
	1. If 'mat-card-subtitle' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-subtitle' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    [ERROR ->]<mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  <mat-card-content>"): ng:///DynamicTestModule/BookDetailComponent.html@6:4
	'mat-card-header' is not a known element:
	1. If 'mat-card-header' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-header' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<mat-card class="example-card">
	  [ERROR ->]<mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle"): ng:///DynamicTestModule/BookDetailComponent.html@4:2
	'mat-card-content' is not a known element:
	1. If 'mat-card-content' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-content' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    <mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  [ERROR ->]<mat-card-content>
	    <dl>
	      <dt>ISBN:</dt>
	"): ng:///DynamicTestModule/BookDetailComponent.html@8:2
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("
	  </mat-card-content>
	  <mat-card-actions>
	    <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-edit', book._id]"><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="): ng:///DynamicTestModule/BookDetailComponent.html@23:41
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]">[ERROR ->]<mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)"><m"): ng:///DynamicTestModule/BookDetailComponent.html@23:81
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)">[ERROR ->]<mat-icon>delete</mat-icon></a>
	  </mat-card-actions>
	</mat-card>
	"): ng:///DynamicTestModule/BookDetailComponent.html@24:69
	'mat-card-actions' is not a known element:
	1. If 'mat-card-actions' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-actions' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </dl>
	  </mat-card-content>
	  [ERROR ->]<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]"><"): ng:///DynamicTestModule/BookDetailComponent.html@22:2
	'mat-card' is not a known element:
	1. If 'mat-card' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<a mat-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	[ERROR ->]<mat-card class="example-card">
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-"): ng:///DynamicTestModule/BookDetailComponent.html@3:0
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/books']">[ERROR ->]<mat-icon>list</mat-icon></a>
	</div>
	<mat-card class="example-card">
	"): ng:///DynamicTestModule/BookDetailComponent.html@1:65
	'mat-card-title' is not a known element:
	1. If 'mat-card-title' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-title' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	<mat-card class="example-card">
	  <mat-card-header>
	    [ERROR ->]<mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle>{{book.description}}<"): ng:///DynamicTestModule/BookDetailComponent.html@5:4
	'mat-card-subtitle' is not a known element:
	1. If 'mat-card-subtitle' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-subtitle' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    [ERROR ->]<mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  <mat-card-content>"): ng:///DynamicTestModule/BookDetailComponent.html@6:4
	'mat-card-header' is not a known element:
	1. If 'mat-card-header' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-header' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<mat-card class="example-card">
	  [ERROR ->]<mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-card-title>
	    <mat-card-subtitle"): ng:///DynamicTestModule/BookDetailComponent.html@4:2
	'mat-card-content' is not a known element:
	1. If 'mat-card-content' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-content' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    <mat-card-subtitle>{{book.description}}</mat-card-subtitle>
	  </mat-card-header>
	  [ERROR ->]<mat-card-content>
	    <dl>
	      <dt>ISBN:</dt>
	"): ng:///DynamicTestModule/BookDetailComponent.html@8:2
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("
	  </mat-card-content>
	  <mat-card-actions>
	    <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-edit', book._id]"><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="): ng:///DynamicTestModule/BookDetailComponent.html@23:41
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]">[ERROR ->]<mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)"><m"): ng:///DynamicTestModule/BookDetailComponent.html@23:81
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("><mat-icon>edit</mat-icon></a>
	    <a mat-raised-button color="warn" (click)="deleteBook(book._id)">[ERROR ->]<mat-icon>delete</mat-icon></a>
	  </mat-card-actions>
	</mat-card>
	"): ng:///DynamicTestModule/BookDetailComponent.html@24:69
	'mat-card-actions' is not a known element:
	1. If 'mat-card-actions' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card-actions' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </dl>
	  </mat-card-content>
	  [ERROR ->]<mat-card-actions>
	    <a mat-raised-button color="primary" [routerLink]="['/book-edit', book._id]"><"): ng:///DynamicTestModule/BookDetailComponent.html@22:2
	'mat-card' is not a known element:
	1. If 'mat-card' is an Angular component, then verify that it is part of this module.
	2. If 'mat-card' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<a mat-raised-button color="primary" [routerLink]="['/books']"><mat-icon>list</mat-icon></a>
	</div>
	[ERROR ->]<mat-card class="example-card">
	  <mat-card-header>
	    <mat-card-title><h2>{{book.title}}</h2></mat-"): ng:///DynamicTestModule/BookDetailComponent.html@3:0
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book-detail/book-detail.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:387:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookEditComponent should create FAILED
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" (click)="bookDetails()">[ERROR ->]<mat-icon>show</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookEditComponent.html@1:63
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("at-raised-button color="primary" (click)="bookDetails()"><mat-icon>show</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookEditComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookEditComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookEditComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookEditComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookEditComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookEditComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookEditComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookEditComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookEditComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookEditComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookEditComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookEditComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookEditComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookEditComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookEditComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookEditComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookEditComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookEditComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookEditComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookEditComponent.html@47:89
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" (click)="bookDetails()">[ERROR ->]<mat-icon>show</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookEditComponent.html@1:63
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("at-raised-button color="primary" (click)="bookDetails()"><mat-icon>show</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookEditComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookEditComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookEditComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookEditComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookEditComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookEditComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookEditComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookEditComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookEditComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookEditComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookEditComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookEditComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookEditComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookEditComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookEditComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookEditComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookEditComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookEditComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookEditComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookEditComponent.html@47:89
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book-edit/book-edit.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookEditComponent should create FAILED
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" (click)="bookDetails()">[ERROR ->]<mat-icon>show</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookEditComponent.html@1:63
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("at-raised-button color="primary" (click)="bookDetails()"><mat-icon>show</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookEditComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookEditComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookEditComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookEditComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookEditComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookEditComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookEditComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookEditComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookEditComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookEditComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookEditComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookEditComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookEditComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookEditComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookEditComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookEditComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookEditComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookEditComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookEditComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookEditComponent.html@47:89
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" (click)="bookDetails()">[ERROR ->]<mat-icon>show</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookEditComponent.html@1:63
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("at-raised-button color="primary" (click)="bookDetails()"><mat-icon>show</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookEditComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookEditComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookEditComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookEditComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookEditComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookEditComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookEditComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookEditComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookEditComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookEditComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookEditComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookEditComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookEditComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookEditComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookEditComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookEditComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookEditComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookEditComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookEditComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookEditComponent.html@47:89
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book-edit/book-edit.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:387:1)
Chrome 67.0.3396 (Mac OS X 10.13.6): Executed 7 of 8 (7 FAILED) (0 secs / 0.3 secs)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookEditComponent should create FAILED
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" (click)="bookDetails()">[ERROR ->]<mat-icon>show</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookEditComponent.html@1:63
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("at-raised-button color="primary" (click)="bookDetails()"><mat-icon>show</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookEditComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookEditComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookEditComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookEditComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookEditComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookEditComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookEditComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookEditComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookEditComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookEditComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookEditComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookEditComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookEditComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookEditComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookEditComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookEditComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookEditComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookEditComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookEditComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookEditComponent.html@47:89
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" (click)="bookDetails()">[ERROR ->]<mat-icon>show</mat-icon></a>
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.v"): ng:///DynamicTestModule/BookEditComponent.html@1:63
	Can't bind to 'formGroup' since it isn't a known property of 'form'. ("at-raised-button color="primary" (click)="bookDetails()"><mat-icon>show</mat-icon></a>
	</div>
	<form [ERROR ->][formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  <mat-form-field class="example-fu"): ng:///DynamicTestModule/BookEditComponent.html@3:6
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("lass="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="isbn"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && book"): ng:///DynamicTestModule/BookEditComponent.html@6:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("ut matInput placeholder="ISBN" formControlName="isbn"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('isbn').valid && bookForm.get('isbn').touched">Please en"): ng:///DynamicTestModule/BookEditComponent.html@7:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	</div>
	<form [formGroup]="bookForm" (ngSubmit)="onFormSubmit(bookForm.value)">
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="ISBN" formControlName="i"): ng:///DynamicTestModule/BookEditComponent.html@4:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ss="example-full-width">
	    <input matInput placeholder="Title" formControlName="title"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('title').valid && boo"): ng:///DynamicTestModule/BookEditComponent.html@13:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. (" matInput placeholder="Title" formControlName="title"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('title').valid && bookForm.get('title').touched">Please "): ng:///DynamicTestModule/BookEditComponent.html@14:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Title" formControlName=""): ng:///DynamicTestModule/BookEditComponent.html@11:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("="example-full-width">
	    <input matInput placeholder="Author" formControlName="author"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bo"): ng:///DynamicTestModule/BookEditComponent.html@20:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("atInput placeholder="Author" formControlName="author"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('author').valid && bookForm.get('author').touched">Pleas"): ng:///DynamicTestModule/BookEditComponent.html@21:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Author" formControlName="): ng:///DynamicTestModule/BookEditComponent.html@18:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'textarea'. ("l-width">
	    <textarea matInput placeholder="Description" formControlName="description"
	           [ERROR ->][errorStateMatcher]="matcher"></textarea>
	    <mat-error>
	      <span *ngIf="!bookForm.get('descripti"): ng:///DynamicTestModule/BookEditComponent.html@27:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("Description" formControlName="description"
	           [errorStateMatcher]="matcher"></textarea>
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('description').valid && bookForm.get('description').touc"): ng:///DynamicTestModule/BookEditComponent.html@28:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <textarea matInput placeholder="Description" formCont"): ng:///DynamicTestModule/BookEditComponent.html@25:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("ple-full-width">
	    <input matInput placeholder="Publisher" formControlName="publisher"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid &&"): ng:///DynamicTestModule/BookEditComponent.html@34:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("t placeholder="Publisher" formControlName="publisher"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('publisher').valid && bookForm.get('publisher').touched""): ng:///DynamicTestModule/BookEditComponent.html@35:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Publisher" formControlNa"): ng:///DynamicTestModule/BookEditComponent.html@32:2
	Can't bind to 'errorStateMatcher' since it isn't a known property of 'input'. ("idth">
	    <input matInput placeholder="Published Year" formControlName="published_year"
	           [ERROR ->][errorStateMatcher]="matcher">
	    <mat-error>
	      <span *ngIf="!bookForm.get('published_year').val"): ng:///DynamicTestModule/BookEditComponent.html@41:11
	'mat-error' is not a known element:
	1. If 'mat-error' is an Angular component, then verify that it is part of this module.
	2. If 'mat-error' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("der="Published Year" formControlName="published_year"
	           [errorStateMatcher]="matcher">
	    [ERROR ->]<mat-error>
	      <span *ngIf="!bookForm.get('published_year').valid && bookForm.get('published_year'"): ng:///DynamicTestModule/BookEditComponent.html@42:4
	'mat-form-field' is not a known element:
	1. If 'mat-form-field' is an Angular component, then verify that it is part of this module.
	2. If 'mat-form-field' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
	    </mat-error>
	  </mat-form-field>
	  [ERROR ->]<mat-form-field class="example-full-width">
	    <input matInput placeholder="Published Year" formCont"): ng:///DynamicTestModule/BookEditComponent.html@39:2
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("tton-row">
	    <button type="submit" [disabled]="!bookForm.valid" mat-raised-button color="primary">[ERROR ->]<mat-icon>save</mat-icon></button>
	  </div>
	</form>
	"): ng:///DynamicTestModule/BookEditComponent.html@47:89
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book-edit/book-edit.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:387:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookComponent should create FAILED
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-create']"><mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat"): ng:///DynamicTestModule/BookComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/book-create']">[ERROR ->]<mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat-elevation-z8">
	"): ng:///DynamicTestModule/BookComponent.html@1:71
	Can't bind to 'dataSource' since it isn't a known property of 'table'. ("
	</div>
	<div class="example-container mat-elevation-z8">
	  <table mat-table #table [ERROR ->][dataSource]="dataSource">
	    <!--- Note that these columns can be defined in any order.
	"): ng:///DynamicTestModule/BookComponent.html@4:26
	Can't bind to 'matHeaderRowDef' since it isn't a known property of 'tr'. ("
	    </ng-container>
	    <tr mat-header-row [ERROR ->]*matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColu"): ng:///DynamicTestModule/BookComponent.html@27:23
	Property binding matHeaderRowDef not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    </ng-container>
	    [ERROR ->]<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; col"): ng:///DynamicTestModule/BookComponent.html@27:4
	Can't bind to 'routerLink' since it isn't a known property of 'tr'. ("derRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColumns;" [ERROR ->][routerLink]="['/book-details/', row._id]"></tr>
	  </table>
	</div>
	"): ng:///DynamicTestModule/BookComponent.html@28:65
	Can't bind to 'matRowDefColumns' since it isn't a known property of 'tr'. ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row [ERROR ->]*matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id]"></tr>
	  <"): ng:///DynamicTestModule/BookComponent.html@28:16
	Property binding matRowDefColumns not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    [ERROR ->]<tr mat-row *matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id"): ng:///DynamicTestModule/BookComponent.html@28:4
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-create']"><mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat"): ng:///DynamicTestModule/BookComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/book-create']">[ERROR ->]<mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat-elevation-z8">
	"): ng:///DynamicTestModule/BookComponent.html@1:71
	Can't bind to 'dataSource' since it isn't a known property of 'table'. ("
	</div>
	<div class="example-container mat-elevation-z8">
	  <table mat-table #table [ERROR ->][dataSource]="dataSource">
	    <!--- Note that these columns can be defined in any order.
	"): ng:///DynamicTestModule/BookComponent.html@4:26
	Can't bind to 'matHeaderRowDef' since it isn't a known property of 'tr'. ("
	    </ng-container>
	    <tr mat-header-row [ERROR ->]*matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColu"): ng:///DynamicTestModule/BookComponent.html@27:23
	Property binding matHeaderRowDef not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    </ng-container>
	    [ERROR ->]<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; col"): ng:///DynamicTestModule/BookComponent.html@27:4
	Can't bind to 'routerLink' since it isn't a known property of 'tr'. ("derRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColumns;" [ERROR ->][routerLink]="['/book-details/', row._id]"></tr>
	  </table>
	</div>
	"): ng:///DynamicTestModule/BookComponent.html@28:65
	Can't bind to 'matRowDefColumns' since it isn't a known property of 'tr'. ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row [ERROR ->]*matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id]"></tr>
	  <"): ng:///DynamicTestModule/BookComponent.html@28:16
	Property binding matRowDefColumns not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    [ERROR ->]<tr mat-row *matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id"): ng:///DynamicTestModule/BookComponent.html@28:4
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book/book.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookComponent should create FAILED
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-create']"><mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat"): ng:///DynamicTestModule/BookComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/book-create']">[ERROR ->]<mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat-elevation-z8">
	"): ng:///DynamicTestModule/BookComponent.html@1:71
	Can't bind to 'dataSource' since it isn't a known property of 'table'. ("
	</div>
	<div class="example-container mat-elevation-z8">
	  <table mat-table #table [ERROR ->][dataSource]="dataSource">
	    <!--- Note that these columns can be defined in any order.
	"): ng:///DynamicTestModule/BookComponent.html@4:26
	Can't bind to 'matHeaderRowDef' since it isn't a known property of 'tr'. ("
	    </ng-container>
	    <tr mat-header-row [ERROR ->]*matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColu"): ng:///DynamicTestModule/BookComponent.html@27:23
	Property binding matHeaderRowDef not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    </ng-container>
	    [ERROR ->]<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; col"): ng:///DynamicTestModule/BookComponent.html@27:4
	Can't bind to 'routerLink' since it isn't a known property of 'tr'. ("derRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColumns;" [ERROR ->][routerLink]="['/book-details/', row._id]"></tr>
	  </table>
	</div>
	"): ng:///DynamicTestModule/BookComponent.html@28:65
	Can't bind to 'matRowDefColumns' since it isn't a known property of 'tr'. ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row [ERROR ->]*matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id]"></tr>
	  <"): ng:///DynamicTestModule/BookComponent.html@28:16
	Property binding matRowDefColumns not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    [ERROR ->]<tr mat-row *matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id"): ng:///DynamicTestModule/BookComponent.html@28:4
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-create']"><mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat"): ng:///DynamicTestModule/BookComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/book-create']">[ERROR ->]<mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat-elevation-z8">
	"): ng:///DynamicTestModule/BookComponent.html@1:71
	Can't bind to 'dataSource' since it isn't a known property of 'table'. ("
	</div>
	<div class="example-container mat-elevation-z8">
	  <table mat-table #table [ERROR ->][dataSource]="dataSource">
	    <!--- Note that these columns can be defined in any order.
	"): ng:///DynamicTestModule/BookComponent.html@4:26
	Can't bind to 'matHeaderRowDef' since it isn't a known property of 'tr'. ("
	    </ng-container>
	    <tr mat-header-row [ERROR ->]*matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColu"): ng:///DynamicTestModule/BookComponent.html@27:23
	Property binding matHeaderRowDef not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    </ng-container>
	    [ERROR ->]<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; col"): ng:///DynamicTestModule/BookComponent.html@27:4
	Can't bind to 'routerLink' since it isn't a known property of 'tr'. ("derRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColumns;" [ERROR ->][routerLink]="['/book-details/', row._id]"></tr>
	  </table>
	</div>
	"): ng:///DynamicTestModule/BookComponent.html@28:65
	Can't bind to 'matRowDefColumns' since it isn't a known property of 'tr'. ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row [ERROR ->]*matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id]"></tr>
	  <"): ng:///DynamicTestModule/BookComponent.html@28:16
	Property binding matRowDefColumns not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    [ERROR ->]<tr mat-row *matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id"): ng:///DynamicTestModule/BookComponent.html@28:4
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book/book.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:387:1)
Chrome 67.0.3396 (Mac OS X 10.13.6): Executed 8 of 8 (8 FAILED) (0 secs / 0.321 secs)
Chrome 67.0.3396 (Mac OS X 10.13.6) BookComponent should create FAILED
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-create']"><mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat"): ng:///DynamicTestModule/BookComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/book-create']">[ERROR ->]<mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat-elevation-z8">
	"): ng:///DynamicTestModule/BookComponent.html@1:71
	Can't bind to 'dataSource' since it isn't a known property of 'table'. ("
	</div>
	<div class="example-container mat-elevation-z8">
	  <table mat-table #table [ERROR ->][dataSource]="dataSource">
	    <!--- Note that these columns can be defined in any order.
	"): ng:///DynamicTestModule/BookComponent.html@4:26
	Can't bind to 'matHeaderRowDef' since it isn't a known property of 'tr'. ("
	    </ng-container>
	    <tr mat-header-row [ERROR ->]*matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColu"): ng:///DynamicTestModule/BookComponent.html@27:23
	Property binding matHeaderRowDef not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    </ng-container>
	    [ERROR ->]<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; col"): ng:///DynamicTestModule/BookComponent.html@27:4
	Can't bind to 'routerLink' since it isn't a known property of 'tr'. ("derRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColumns;" [ERROR ->][routerLink]="['/book-details/', row._id]"></tr>
	  </table>
	</div>
	"): ng:///DynamicTestModule/BookComponent.html@28:65
	Can't bind to 'matRowDefColumns' since it isn't a known property of 'tr'. ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row [ERROR ->]*matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id]"></tr>
	  <"): ng:///DynamicTestModule/BookComponent.html@28:16
	Property binding matRowDefColumns not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    [ERROR ->]<tr mat-row *matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id"): ng:///DynamicTestModule/BookComponent.html@28:4
	Error: Template parse errors:
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Error: Template parse errors:
	Can't bind to 'routerLink' since it isn't a known property of 'a'. ("<div class="button-row">
	  <a mat-raised-button color="primary" [ERROR ->][routerLink]="['/book-create']"><mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat"): ng:///DynamicTestModule/BookComponent.html@1:39
	'mat-icon' is not a known element:
	1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
	2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("<div class="button-row">
	  <a mat-raised-button color="primary" [routerLink]="['/book-create']">[ERROR ->]<mat-icon>add</mat-icon></a>
	</div>
	<div class="example-container mat-elevation-z8">
	"): ng:///DynamicTestModule/BookComponent.html@1:71
	Can't bind to 'dataSource' since it isn't a known property of 'table'. ("
	</div>
	<div class="example-container mat-elevation-z8">
	  <table mat-table #table [ERROR ->][dataSource]="dataSource">
	    <!--- Note that these columns can be defined in any order.
	"): ng:///DynamicTestModule/BookComponent.html@4:26
	Can't bind to 'matHeaderRowDef' since it isn't a known property of 'tr'. ("
	    </ng-container>
	    <tr mat-header-row [ERROR ->]*matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColu"): ng:///DynamicTestModule/BookComponent.html@27:23
	Property binding matHeaderRowDef not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    </ng-container>
	    [ERROR ->]<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; col"): ng:///DynamicTestModule/BookComponent.html@27:4
	Can't bind to 'routerLink' since it isn't a known property of 'tr'. ("derRowDef="displayedColumns"></tr>
	    <tr mat-row *matRowDef="let row; columns: displayedColumns;" [ERROR ->][routerLink]="['/book-details/', row._id]"></tr>
	  </table>
	</div>
	"): ng:///DynamicTestModule/BookComponent.html@28:65
	Can't bind to 'matRowDefColumns' since it isn't a known property of 'tr'. ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    <tr mat-row [ERROR ->]*matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id]"></tr>
	  <"): ng:///DynamicTestModule/BookComponent.html@28:16
	Property binding matRowDefColumns not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
	    <tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
	    [ERROR ->]<tr mat-row *matRowDef="let row; columns: displayedColumns;" [routerLink]="['/book-details/', row._id"): ng:///DynamicTestModule/BookComponent.html@28:4
	    at syntaxError node_modules/@angular/compiler/fesm5/compiler.js:215:1)
	    at TemplateParser.push../node_modules/@angular/compiler/fesm5/compiler.js.TemplateParser.parse node_modules/@angular/compiler/fesm5/compiler.js:14702:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._parseTemplate node_modules/@angular/compiler/fesm5/compiler.js:22709:1)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileTemplate node_modules/@angular/compiler/fesm5/compiler.js:22696:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22639:48
	    at Set.forEach (<anonymous>)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileComponents node_modules/@angular/compiler/fesm5/compiler.js:22639:1)
	    at http://localhost:9876/_karma_webpack_/webpack:/node_modules/@angular/compiler/fesm5/compiler.js:22557:1
	    at Object.then node_modules/@angular/compiler/fesm5/compiler.js:206:33)
	    at JitCompiler.push../node_modules/@angular/compiler/fesm5/compiler.js.JitCompiler._compileModuleAndAllComponents node_modules/@angular/compiler/fesm5/compiler.js:22555:1)
	Expected undefined to be truthy.
	    at UserContext.<anonymous> src/app/book/book.component.spec.ts:23:23)
	    at ZoneDelegate../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke node_modules/zone.js/dist/zone.js:388:1)
	    at ProxyZoneSpec.push../node_modules/zone.js/dist/zone-testing.js.ProxyZoneSpec.onInvoke node_modules/zone.js/dist/zone-testing.js:288:1)
Chrome 67.0.3396 (Mac OS X 10.13.6): Executed 8 of 8 (8 FAILED) ERROR (0.737 secs / 0.321 secs)

This is my npm ls --depth=1

[email protected] /Users/alund/prj/_forks/mean-stack-angular6-crud-example
├─┬ @angular-devkit/[email protected]
│ ├── @angular-devkit/[email protected]
│ ├── @angular-devkit/[email protected]
│ ├── @angular-devkit/[email protected]
│ ├── @ngtools/[email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├─┬ @angular/[email protected]
│ └── [email protected]
├─┬ @angular/[email protected]
│ └── [email protected] deduped
├─┬ @angular/[email protected]
│ ├── @angular-devkit/[email protected]
│ ├── @angular-devkit/[email protected]
│ ├── @angular-devkit/[email protected]
│ ├── @schematics/[email protected]
│ ├── @schematics/[email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ └── [email protected]
├─┬ @angular/[email protected]
│ └── [email protected] deduped
├─┬ @angular/[email protected]
│ └── [email protected] deduped
├─┬ @angular/[email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├─┬ @angular/[email protected]
│ └── [email protected] deduped
├─┬ @angular/[email protected]
│ └── [email protected] deduped
├─┬ @angular/[email protected]
│ └── [email protected] deduped
├── @angular/[email protected]
├─┬ @angular/[email protected]
│ └── [email protected] deduped
├─┬ @angular/[email protected]
│ └── [email protected] deduped
├─┬ @angular/[email protected]
│ └── [email protected] deduped
├─┬ @angular/[email protected]
│ └── [email protected] deduped
├── @types/[email protected]
├─┬ @types/[email protected]
│ └── @types/[email protected] deduped
├── @types/[email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ └── [email protected]
├─┬ [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected] deduped
│ └── [email protected] deduped
├── [email protected]
├─┬ [email protected]
│ └── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ └── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ └── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ └── [email protected] deduped
├── [email protected]
├─┬ [email protected]
│ └── [email protected] deduped
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ └── [email protected]
├─┬ [email protected]
│ ├── @types/[email protected]
│ ├── @types/[email protected]
│ ├── @types/[email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
├─┬ [email protected]
│ └── [email protected] deduped
├─┬ [email protected]
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected] deduped
│ └── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ └── [email protected]
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ └── [email protected]
├── [email protected]
└── [email protected]

I also have this when my ng starts

Your global Angular CLI version (6.1.0-rc.3) is greater than your local
version (6.0.0). The local Angular CLI version is used.

To disable this warning use "ng config -g cli.warnings.versionMismatch false".

As result ng -v gives this:

Angular CLI: 6.0.0
Node: 10.7.0
OS: darwin x64
Angular: 6.0.2
... animations, cdk, common, compiler, compiler-cli, core, forms
... http, language-service, material, platform-browser
... platform-browser-dynamic, router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.6.1
@angular-devkit/build-angular     0.6.1
@angular-devkit/build-optimizer   0.6.1
@angular-devkit/core              0.6.1
@angular-devkit/schematics        0.6.0
@angular/cli                      6.0.0
@ngtools/webpack                  6.0.1
@schematics/angular               0.6.0
@schematics/update                0.6.0
rxjs                              6.1.0
typescript                        2.7.2
webpack                           4.6.0

I updated global angular-cli to v6.1.0-rc.3 due to this issue
angular/components#12362

I have node v10.7.0 and npm v6.1.0

I tried to change package.json.scripts:

ng: 'ng' => "ng": "./node_modules/.bin/ng",
But nothing changed.

@didinj any ideas?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.