mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-21 14:02:43 +08:00
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
const Task = require('../ember-cli/lib/models/task');
|
|
import { TestOptions } from '../commands/test';
|
|
import * as path from 'path';
|
|
import { requireDependency } from '../utilities/require-project-module';
|
|
|
|
export default Task.extend({
|
|
run: function (options: TestOptions) {
|
|
const projectRoot = this.project.root;
|
|
return new Promise((resolve) => {
|
|
const karma = requireDependency(projectRoot, 'karma');
|
|
const karmaConfig = path.join(projectRoot, this.project.ngConfig.config.test.karma.config);
|
|
|
|
let karmaOptions: any = Object.assign({}, options);
|
|
|
|
// Convert browsers from a string to an array
|
|
if (options.browsers) {
|
|
karmaOptions.browsers = options.browsers.split(',');
|
|
}
|
|
|
|
karmaOptions.angularCli = {
|
|
codeCoverage: options.codeCoverage,
|
|
sourcemap: options.sourcemap,
|
|
progress: options.progress
|
|
};
|
|
|
|
// Assign additional karmaConfig options to the local ngapp config
|
|
karmaOptions.configFile = karmaConfig;
|
|
|
|
// :shipit:
|
|
const karmaServer = new karma.Server(karmaOptions, resolve);
|
|
karmaServer.start();
|
|
});
|
|
}
|
|
});
|