mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-18 19:21:34 +08:00
Fix(generate): Add error message for blueprints that do not exist. Throw error for the caller to respond to. Update test to have invalid generator error thrown
This commit is contained in:
@ -36,6 +36,10 @@ Generate.generate = function generate(options) {
|
||||
options.generatorName = 'page';
|
||||
}
|
||||
|
||||
if (!Generate.generators[options.generatorName]) {
|
||||
throw new Error('There is no generator available with that name: ' + options.generatorName + '.');
|
||||
}
|
||||
|
||||
var generateOptions = {
|
||||
appDirectory: options.appDirectory,
|
||||
cssClassName: Generate.cssClassName(options.name),
|
||||
@ -117,7 +121,8 @@ Generate.loadGenerators = function loadGenerators() {
|
||||
return;
|
||||
}
|
||||
var generatorName = file.replace('.js', '');
|
||||
generators[generatorName] = Generate.loadGenerator(generatorName);
|
||||
var generator = Generate.loadGenerator(generatorName);
|
||||
generators[generatorName] = generator;
|
||||
});
|
||||
return generators;
|
||||
};
|
||||
|
@ -1,3 +1,5 @@
|
||||
var Generate = require('./generate');
|
||||
module.exports = {
|
||||
generate: require('./generate').generate
|
||||
Generate: Generate,
|
||||
generate: Generate.generate
|
||||
};
|
||||
|
@ -34,6 +34,13 @@ describe('#Generate', function() {
|
||||
expect(Generate.generate).toThrow('No options passed to generator');
|
||||
});
|
||||
|
||||
it('should throw an error trying to use a generator that does not exist', function() {
|
||||
var generatorOptions = { appDirectory: '/fake/ionic/path', name: 'About', generatorName: 'tabz' };
|
||||
expect(function() {
|
||||
Generate.generate(generatorOptions);
|
||||
}).toThrow('There is no generator available with that name: tabz.');
|
||||
});
|
||||
|
||||
it('should call the appropriate generator', function() {
|
||||
spyOn(Generate, 'createScaffoldDirectories');
|
||||
var generatorOptions = { appDirectory: '/fake/ionic/path', name: 'About', generatorName: 'page' };
|
||||
|
Reference in New Issue
Block a user