Skip to content

Commit be3d0e3

Browse files
committed
Merge pull request #12 from cameronjroe/master
Fixed broken generator with passing tests
2 parents 4a6008f + 8a783f3 commit be3d0e3

File tree

3 files changed

+68
-60
lines changed

3 files changed

+68
-60
lines changed

app/index.js

Lines changed: 32 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,42 @@
11
var fs = require('fs');
22
var path = require('path');
33
var chalk = require('chalk');
4+
var yeoman = require('yeoman-generator');
5+
var util = require('util');
46

5-
var Generator = module.exports = function() {
6-
var prompts = [];
7-
var files = this.expandFiles('**/*', { cwd: this.sourceRoot(), dot: true });
8-
var ignores = [
9-
'.git',
10-
'LICENSE',
11-
'README.md',
12-
];
7+
module.exports = yeoman.generators.Base.extend({
138

14-
this.package = JSON.parse(this.readFileAsString(path.join(__dirname, '../package.json')));
9+
constructor: function () {
10+
yeoman.generators.Base.apply(this, arguments);
1511

16-
this.log.writeln('Generating from ' + chalk.cyan('jQuery Boilerplate') + ' v' + chalk.cyan(this.package.version) + '...');
12+
},
1713

18-
files.forEach(function(file) {
19-
if (ignores.indexOf(file) !== -1) {
20-
return;
21-
}
14+
install: function () {
15+
var prompts = [];
2216

23-
this.copy(file, file);
24-
}, this);
17+
this.name = 'jQuery Boilerplate';
2518

26-
this.config.save();
27-
};
19+
this.files = this.expandFiles('**/*', { cwd: this.sourceRoot(), dot: true });
2820

29-
Generator.name = "jQuery Boilerplate";
21+
var ignores = [
22+
'.git',
23+
'LICENSE',
24+
'README.md',
25+
];
26+
27+
this.files.forEach(function(file) {
28+
if (ignores.indexOf(file) !== -1) {
29+
return;
30+
}
31+
32+
this.copy(file, file);
33+
}, this);
34+
35+
this.config.save();
36+
37+
this.package = JSON.parse(this.readFileAsString(path.resolve(__dirname, '../package.json')));
38+
39+
this.log.writeln('Generating from ' + chalk.cyan('jQuery Boilerplate') + ' v' + chalk.cyan(this.package.version) + '...');
40+
}
41+
42+
});

package.json

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,8 @@
3030
"peerDependencies": {
3131
"yo": ">=1.0.0-rc.1.1"
3232
},
33-
"engines": {
34-
"node": ">= 0.8.0",
35-
"npm": ">=1.2.10"
36-
},
3733
"dependencies": {
38-
"yeoman-generator": "~0.18.0",
34+
"yeoman-generator": "~0.18.10",
3935
"chalk": "~0.5.1"
4036
},
4137
"devDependencies": {

test/test.js

Lines changed: 35 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,44 @@
22
'use strict';
33

44
var path = require('path');
5-
var helpers = require('yeoman-generator').test;
5+
var yeoman = require('yeoman-generator');
6+
var helpers = yeoman.test;
7+
var assert = yeoman.assert;
68

79
describe('jQuery Boilerplate generator test', function () {
8-
beforeEach(function (done) {
9-
helpers.testDirectory(path.join(__dirname, 'temp'), function (err) {
10-
if (err) {
11-
return done(err);
12-
}
1310

14-
this.app = helpers.createGenerator('jquery-boilerplate:app', [
15-
'../../app', [
16-
helpers.createDummyGenerator(),
17-
'mocha:app'
18-
]
19-
]);
20-
done();
21-
}.bind(this));
22-
});
11+
var runGen, options;
2312

24-
it('creates expected files', function (done) {
25-
var expected = [
26-
'.editorconfig',
27-
'.gitignore',
28-
'.jshintrc',
29-
'.travis.yml',
30-
'Gruntfile.js',
31-
'boilerplate.jquery.json',
32-
'demo/index.html',
33-
'dist/jquery.boilerplate.js',
34-
'dist/jquery.boilerplate.min.js',
35-
'package.json',
36-
'src/jquery.boilerplate.coffee',
37-
'src/jquery.boilerplate.js'
38-
];
13+
beforeEach(function () {
14+
options = {
15+
'skip-install': true
16+
};
3917

40-
this.app.options['skip-install'] = true;
41-
this.app.run({}, function () {
42-
helpers.assertFiles(expected);
43-
done();
44-
});
45-
});
18+
runGen = helpers
19+
.run(path.join(__dirname, '../app'))
20+
.inDir(path.join(__dirname, './temp'))
21+
.withGenerators(['../../app', [helpers.createDummyGenerator(), 'mocha:app']]);
22+
});
23+
24+
it('creates expected files', function (done) {
25+
var expected = [
26+
'.editorconfig',
27+
'.gitignore',
28+
'.jshintrc',
29+
'.travis.yml',
30+
'Gruntfile.js',
31+
'boilerplate.jquery.json',
32+
'demo/index.html',
33+
'dist/jquery.boilerplate.js',
34+
'dist/jquery.boilerplate.min.js',
35+
'package.json',
36+
'src/jquery.boilerplate.coffee',
37+
'src/jquery.boilerplate.js'
38+
];
39+
40+
runGen.withOptions(options).on('end', function () {
41+
assert.file(expected);
42+
done();
43+
});
44+
});
4645
});

0 commit comments

Comments
 (0)