fix: throw useful error on missing platform module.
This commit is contained in:
parent
8c8754e573
commit
73f02c7861
|
@ -684,7 +684,7 @@ export function main() {
|
|||
expect(elAst.providers[0].providers).toEqual([dirProvider]);
|
||||
});
|
||||
|
||||
it('should throw if mixing multi and non multi providers', () => {
|
||||
it('if mixing multi and non multi providers', () => {
|
||||
var provider0 = createProvider('service0');
|
||||
var provider1 = createProvider('service0', {multi: true});
|
||||
var dirA = createDir('[dirA]', {providers: [provider0]});
|
||||
|
|
|
@ -313,7 +313,10 @@ export class PlatformRef_ extends PlatformRef {
|
|||
const ngZoneInjector =
|
||||
ReflectiveInjector.resolveAndCreate([{provide: NgZone, useValue: ngZone}], this.injector);
|
||||
const moduleRef = moduleFactory.create(ngZoneInjector);
|
||||
const exceptionHandler: ExceptionHandler = moduleRef.injector.get(ExceptionHandler);
|
||||
const exceptionHandler: ExceptionHandler = moduleRef.injector.get(ExceptionHandler, null);
|
||||
if (!exceptionHandler) {
|
||||
throw new Error('No ExceptionHandler. Is platform module (BrowserModule) included?');
|
||||
}
|
||||
ObservableWrapper.subscribe(ngZone.onError, (error: NgZoneError) => {
|
||||
exceptionHandler.call(error.error, error.stackTrace);
|
||||
});
|
||||
|
|
|
@ -141,6 +141,18 @@ export function main() {
|
|||
expect(errorLogger.res).toEqual(['EXCEPTION: Test']);
|
||||
});
|
||||
}));
|
||||
|
||||
it('should throw useful error when ApplicationRef is not configured', async(() => {
|
||||
@NgModule()
|
||||
class EmptyModule {
|
||||
}
|
||||
|
||||
return defaultPlatform.bootstrapModule(EmptyModule)
|
||||
.then(() => fail('expecting error'), (error) => {
|
||||
expect(error.message)
|
||||
.toEqual('No ExceptionHandler. Is platform module (BrowserModule) included?');
|
||||
});
|
||||
}));
|
||||
});
|
||||
|
||||
describe('bootstrapModuleFactory', () => {
|
||||
|
|
|
@ -65,54 +65,61 @@ const BaseConfig = {
|
|||
};
|
||||
|
||||
if (platform == 'node') {
|
||||
tscWatch = new TscWatch(Object.assign({
|
||||
tsconfig: 'modules/tsconfig.json',
|
||||
onChangeCmds: [
|
||||
processOutputEmitterCodeGen,
|
||||
[
|
||||
'node', 'dist/tools/cjs-jasmine', '--', '{@angular,benchpress}/**/*_spec.js',
|
||||
'@angular/compiler-cli/test/**/*_spec.js'
|
||||
]
|
||||
]
|
||||
}, BaseConfig));
|
||||
tscWatch = new TscWatch(Object.assign(
|
||||
{
|
||||
tsconfig: 'modules/tsconfig.json',
|
||||
onChangeCmds: [
|
||||
processOutputEmitterCodeGen,
|
||||
[
|
||||
'node', 'dist/tools/cjs-jasmine', '--', '{@angular,benchpress}/**/*_spec.js',
|
||||
'@angular/compiler-cli/test/**/*_spec.js'
|
||||
]
|
||||
]
|
||||
},
|
||||
BaseConfig));
|
||||
} else if (platform == 'browser') {
|
||||
tscWatch = new TscWatch(Object.assign({
|
||||
tsconfig: 'modules/tsconfig.json',
|
||||
onStartCmds: [
|
||||
[
|
||||
'node', 'node_modules/karma/bin/karma', 'start', '--no-auto-watch', '--port=9876',
|
||||
'karma-js.conf.js'
|
||||
],
|
||||
[
|
||||
'node', 'node_modules/karma/bin/karma', 'start', '--no-auto-watch', '--port=9877',
|
||||
'modules/@angular/router/karma.conf.js'
|
||||
],
|
||||
],
|
||||
onChangeCmds: [
|
||||
['node', 'node_modules/karma/bin/karma', 'run', 'karma-js.conf.js', '--port=9876'],
|
||||
['node', 'node_modules/karma/bin/karma', 'run', '--port=9877'],
|
||||
]
|
||||
}, BaseConfig));
|
||||
tscWatch = new TscWatch(Object.assign(
|
||||
{
|
||||
tsconfig: 'modules/tsconfig.json',
|
||||
onStartCmds: [
|
||||
[
|
||||
'node', 'node_modules/karma/bin/karma', 'start', '--no-auto-watch', '--port=9876',
|
||||
'karma-js.conf.js'
|
||||
],
|
||||
[
|
||||
'node', 'node_modules/karma/bin/karma', 'start', '--no-auto-watch', '--port=9877',
|
||||
'modules/@angular/router/karma.conf.js'
|
||||
],
|
||||
],
|
||||
onChangeCmds: [
|
||||
['node', 'node_modules/karma/bin/karma', 'run', 'karma-js.conf.js', '--port=9876'],
|
||||
['node', 'node_modules/karma/bin/karma', 'run', '--port=9877'],
|
||||
]
|
||||
},
|
||||
BaseConfig));
|
||||
} else if (platform == 'browserNoRouter') {
|
||||
tscWatch = new TscWatch(Object.assign({
|
||||
tsconfig: 'modules/tsconfig.json',
|
||||
onStartCmds: [
|
||||
[
|
||||
'node', 'node_modules/karma/bin/karma', 'start', '--no-auto-watch', '--port=9876',
|
||||
'karma-js.conf.js'
|
||||
]
|
||||
],
|
||||
onChangeCmds: [
|
||||
['node', 'node_modules/karma/bin/karma', 'run', 'karma-js.conf.js', '--port=9876'],
|
||||
]
|
||||
}, BaseConfig));
|
||||
tscWatch = new TscWatch(Object.assign(
|
||||
{
|
||||
tsconfig: 'modules/tsconfig.json',
|
||||
onStartCmds: [[
|
||||
'node', 'node_modules/karma/bin/karma', 'start', '--no-auto-watch', '--port=9876',
|
||||
'karma-js.conf.js'
|
||||
]],
|
||||
onChangeCmds: [
|
||||
['node', 'node_modules/karma/bin/karma', 'run', 'karma-js.conf.js', '--port=9876'],
|
||||
]
|
||||
},
|
||||
BaseConfig));
|
||||
} else if (platform == 'tools') {
|
||||
tscWatch = new TscWatch(Object.assign({
|
||||
tsconfig: 'tools/tsconfig.json',
|
||||
onChangeCmds: [[
|
||||
'node', 'dist/tools/cjs-jasmine/index-tools', '--', '@angular/tsc-wrapped/**/*{_,.}spec.js'
|
||||
]]
|
||||
}, BaseConfig));
|
||||
tscWatch = new TscWatch(Object.assign(
|
||||
{
|
||||
tsconfig: 'tools/tsconfig.json',
|
||||
onChangeCmds: [[
|
||||
'node', 'dist/tools/cjs-jasmine/index-tools', '--',
|
||||
'@angular/tsc-wrapped/**/*{_,.}spec.js'
|
||||
]]
|
||||
},
|
||||
BaseConfig));
|
||||
} else {
|
||||
throw new Error(`unknown platform: ${platform}`);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue