diff --git a/packages/@angular/cli/models/schematic-command.ts b/packages/@angular/cli/models/schematic-command.ts index 6175b51847fa..b430449474de 100644 --- a/packages/@angular/cli/models/schematic-command.ts +++ b/packages/@angular/cli/models/schematic-command.ts @@ -334,7 +334,7 @@ export abstract class SchematicCommand extends Command { private _cleanDefaults(defaults: T, undefinedOptions: string[]): T { (Object.keys(defaults) as K[]) - .filter(key => !undefinedOptions.includes(key)) + .filter(key => !undefinedOptions.map(strings.camelize).includes(key)) .forEach(key => { delete defaults[key]; }); diff --git a/tests/e2e/tests/commands/config/config-global.ts b/tests/e2e/tests/commands/config/config-global.ts index d1b84b231b75..acb462e84826 100644 --- a/tests/e2e/tests/commands/config/config-global.ts +++ b/tests/e2e/tests/commands/config/config-global.ts @@ -3,6 +3,7 @@ import {expectToFail} from '../../../utils/utils'; import { expectFileToExist } from '../../../utils/fs'; import * as path from 'path'; import { homedir } from 'os'; +import { deleteFile } from '../../../utils/fs'; export default function() { @@ -27,5 +28,6 @@ export default function() { }) .then(() => expectToFail(() => ng('config', '--global', 'cli.warnings.notreal', 'true'))) .then(() => ng('config', '--global', 'cli.warnings.versionMismatch', 'false')) - .then(() => expectFileToExist(path.join(homedir(), '.angular-config.json'))); + .then(() => expectFileToExist(path.join(homedir(), '.angular-config.json'))) + .then(() => deleteFile(path.join(homedir(), '.angular-config.json'))); } diff --git a/tests/e2e/tests/generate/component/component-inline-template.ts b/tests/e2e/tests/generate/component/component-inline-template.ts new file mode 100644 index 000000000000..f76409820a1a --- /dev/null +++ b/tests/e2e/tests/generate/component/component-inline-template.ts @@ -0,0 +1,26 @@ +import {join} from 'path'; +import {ng} from '../../../utils/process'; +import {expectFileToExist} from '../../../utils/fs'; +import {updateJsonFile} from '../../../utils/project'; +import { expectToFail } from '../../../utils/utils'; + + +// tslint:disable:max-line-length +export default function() { + const componentDir = join('src', 'app', 'test-component'); + return Promise.resolve() + .then(() => updateJsonFile('angular.json', configJson => { + configJson.projects['test-project'].schematics = { + '@schematics/angular:component': { inlineTemplate: true } + }; + })) + .then(() => ng('generate', 'component', 'test-component')) + .then(() => expectFileToExist(componentDir)) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.ts'))) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.spec.ts'))) + .then(() => expectToFail(() => expectFileToExist(join(componentDir, 'test-component.component.html')))) + .then(() => expectFileToExist(join(componentDir, 'test-component.component.css'))) + + // Try to run the unit tests. + .then(() => ng('test', '--watch=false')); +}