From 88d79d2ec296aca356d38cb301371246cc6c76ec Mon Sep 17 00:00:00 2001 From: ColCh Date: Sun, 2 Nov 2014 11:52:51 +0300 Subject: [PATCH] Add question about desired styles lang --- app/index.js | 19 +++++++++++++++++++ test/test-creation.js | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/app/index.js b/app/index.js index 93c72d0..455071b 100644 --- a/app/index.js +++ b/app/index.js @@ -63,6 +63,25 @@ ReactWebpackGenerator.prototype.askForReactRouter = function () { }.bind(this)); }; +ReactWebpackGenerator.prototype.askForStylesLanguage = function () { + var done = this.async(); + this.prompt({ + type : 'list', + name : 'stylesLanguage', + message : 'Which styles language you want to use?', + choices: [ + {name: 'CSS', value: 'css'}, + {name: 'SASS', value: 'sass'}, + {name: 'LESS', value: 'less'}, + {name: 'Stylus', value: 'stylus'} + ], + default : 'css' + }, function (props) { + this.config.set('styles-language', props.stylesLanguage); + done(); + }.bind(this)); +}; + ReactWebpackGenerator.prototype.readIndex = function readIndex() { this.indexFile = this.engine(this.read('../../templates/common/index.html'), this); }; diff --git a/test/test-creation.js b/test/test-creation.js index c5c36ca..dbbfa44 100644 --- a/test/test-creation.js +++ b/test/test-creation.js @@ -111,6 +111,46 @@ describe('react-webpack generator', function() { }); + describe('Generator', function () { + + it('should contain info about used style lang', function (done) { + react.run({}, function() { + assert.ok(react.config.get('styles-language')); + done(); + }); + }); + + it('by default should use css style lang', function (done) { + react.run({}, function() { + assert.equal(react.config.get('styles-language'), 'css'); + done(); + }); + }); + + var assertStyle = function (lang, done) { + helpers.mockPrompt(react, { + stylesLanguage: lang + }); + react.run({}, function() { + assert.equal(react.config.get('styles-language'), lang); + done(); + }); + }; + + it('should use sass style lang', function (done) { + assertStyle('sass', done); + }); + + it('should use less style lang', function (done) { + assertStyle('less', done); + }); + + it('should use stylus style lang', function (done) { + assertStyle('stylus', done); + }); + + }); + describe('Subgenerators', function() { var generatorTest = function(generatorType, specType, targetDirectory, scriptNameFn, specNameFn, suffix, done) {