From b0f9a0aba0f5905173ee2bdfce57bb43eede2d14 Mon Sep 17 00:00:00 2001 From: jbavari Date: Mon, 2 Nov 2015 18:02:14 -0700 Subject: [PATCH] Refactor(generate): Update code to be more in line with the name of tabs. Update options of generate method to include generator instead of generatorName. Mock out the console logging messages on tests --- tooling/generate.js | 16 ++++++++-------- tooling/generators/{page-tabs => tabs}/index.js | 5 ----- .../{page-tabs => tabs}/tabs.tmpl.html | 0 .../generators/{page-tabs => tabs}/tabs.tmpl.js | 0 tooling/spec/generate.spec.js | 14 +++++++++----- 5 files changed, 17 insertions(+), 18 deletions(-) rename tooling/generators/{page-tabs => tabs}/index.js (95%) rename tooling/generators/{page-tabs => tabs}/tabs.tmpl.html (100%) rename tooling/generators/{page-tabs => tabs}/tabs.tmpl.js (100%) diff --git a/tooling/generate.js b/tooling/generate.js index d0586affe2..7ac82c0e83 100644 --- a/tooling/generate.js +++ b/tooling/generate.js @@ -19,7 +19,7 @@ Generate.log = function log() { console.log('DEBUG'.red, arguments); }; -// options: appDirectory, generatorName, name +// options: appDirectory, generator, name Generate.generate = function generate(options) { Generate.inquirer = inquirer; // Generate.log('Generate options', options); @@ -32,12 +32,12 @@ Generate.generate = function generate(options) { Generate.log = options.log; } - if (options.generatorName && !Generate.generators[options.generatorName]) { - throw new Error('There is no generator available with that name: ' + options.generatorName + '.'); + if (options.generator && !Generate.generators[options.generator]) { + throw new Error('There is no generator available with that name: ' + options.generator + '.'); } - if (!options.generatorName) { - options.generatorName = 'page'; + if (!options.generator) { + options.generator = 'page'; } var generateOptions = { @@ -46,16 +46,16 @@ Generate.generate = function generate(options) { fileName: Generate.fileName(options.name), jsClassName: Generate.jsClassName(options.name), name: options.name, - template: options.generatorName + template: options.generator }; Generate.createScaffoldDirectories({appDirectory: options.appDirectory, fileName: generateOptions.fileName}); try { //Try to run the generator if it supplies a run method. - var generator = Generate.generators[options.generatorName]; + var generator = Generate.generators[options.generator]; if (generator && generator.run) { - return Generate.generators[options.generatorName].run(generateOptions); + return Generate.generators[options.generator].run(generateOptions); } else { return Generate.defaultTemplates(generateOptions); } diff --git a/tooling/generators/page-tabs/index.js b/tooling/generators/tabs/index.js similarity index 95% rename from tooling/generators/page-tabs/index.js rename to tooling/generators/tabs/index.js index b74985e680..1286feb5f7 100644 --- a/tooling/generators/page-tabs/index.js +++ b/tooling/generators/tabs/index.js @@ -41,8 +41,6 @@ Generator.promptForTabName = function promptForTabName(tabIndex, options) { } Generator.run = function run(options) { - console.log('got options!', options); - //Need to query user for tabs: options.rootDirectory = options.rootDirectory || path.join('www', 'app'); var savePath = path.join(options.appDirectory, options.rootDirectory, options.fileName); @@ -51,7 +49,6 @@ Generator.run = function run(options) { return Generator.promptForTabCount() .then(function(count) { - console.log('count', count); var promise = Q(); for(var i = 0, j = parseInt(count); i < j; i++) { (function(index) { @@ -70,7 +67,6 @@ Generator.run = function run(options) { templates.forEach(function(template) { options.templatePath = template.file; options.tabs = Generator.tabs; - console.log('generating stuffs', options); var renderedTemplate = Generate.renderTemplateFromFile(options); var saveFilePath = path.join(savePath, [options.fileName, template.type].join('')); // console.log('renderedTemplate', renderedTemplate, 'saving to', saveFilePath); @@ -80,7 +76,6 @@ Generator.run = function run(options) { //Now render the individual tab pages Generator.tabs.forEach(function(tab) { - console.log('Tab:', tab); tab.generatorName = 'page'; tab.appDirectory = tab.appDirectory; Generate.generate(tab); diff --git a/tooling/generators/page-tabs/tabs.tmpl.html b/tooling/generators/tabs/tabs.tmpl.html similarity index 100% rename from tooling/generators/page-tabs/tabs.tmpl.html rename to tooling/generators/tabs/tabs.tmpl.html diff --git a/tooling/generators/page-tabs/tabs.tmpl.js b/tooling/generators/tabs/tabs.tmpl.js similarity index 100% rename from tooling/generators/page-tabs/tabs.tmpl.js rename to tooling/generators/tabs/tabs.tmpl.js diff --git a/tooling/spec/generate.spec.js b/tooling/spec/generate.spec.js index 78d8b89a22..c1dfd387af 100644 --- a/tooling/spec/generate.spec.js +++ b/tooling/spec/generate.spec.js @@ -11,6 +11,10 @@ var fs = require('fs'), // } describe('#Generate', function() { + beforeEach(function() { + spyOn(console, 'log'); + }); + it('should have generate exported', function() { expect(Generate).toBeDefined(); expect(Generate.generate).toBeDefined(); @@ -28,7 +32,7 @@ describe('#Generate', function() { expect(Generate.generators).toBeDefined(); expect(Object.keys(Generate.generators).length).toBeGreaterThan(0); expect(Generate.generators.page).toBeDefined(); - expect(Generate.generators['page-tabs']).toBeDefined(); + expect(Generate.generators['tabs']).toBeDefined(); }); it('should be able to load generators', function() { @@ -42,7 +46,7 @@ describe('#Generate', function() { }); 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' }; + var generatorOptions = { appDirectory: '/fake/ionic/path', name: 'About', generator: 'tabz' }; expect(function() { Generate.generate(generatorOptions); }).toThrow('There is no generator available with that name: tabz.'); @@ -50,7 +54,7 @@ describe('#Generate', function() { it('should call the appropriate generator', function() { spyOn(Generate, 'createScaffoldDirectories'); - var generatorOptions = { appDirectory: '/fake/ionic/path', name: 'About', generatorName: 'page' }; + var generatorOptions = { appDirectory: '/fake/ionic/path', name: 'About', generator: 'page' }; var generatorSpy = {run: createSpy()}; var realGenerator = Generate.generators['page']; Generate.generators['page'] = generatorSpy; @@ -73,7 +77,7 @@ describe('#Generate', function() { describe('#generate:page', function() { it('should generate all the templates for a page', function() { - var generatorOptions = { appDirectory: '/ionic/app/dir', name: 'About', generatorName: 'page' }; + var generatorOptions = { appDirectory: '/ionic/app/dir', name: 'About', generator: 'page' }; var genOpts = { appDirectory: '/ionic/app/dir', fileName: 'about', @@ -107,7 +111,7 @@ describe('#Generate', function() { var options = { appDirectory: appDir, - generatorName: 'page', + generator: 'page', name: 'MyPage', }