mirror of
https://github.com/bower/bower.git
synced 2026-01-14 16:57:57 -05:00
86 lines
2.5 KiB
JavaScript
86 lines
2.5 KiB
JavaScript
var expect = require('expect.js');
|
|
var helpers = require('../helpers');
|
|
|
|
var init = helpers.command('init');
|
|
|
|
describe('bower init', function () {
|
|
|
|
var package = new helpers.TempDir();
|
|
|
|
it('correctly reads arguments', function() {
|
|
expect(init.readOptions([]))
|
|
.to.eql([]);
|
|
});
|
|
|
|
it('generates bower.json file', function () {
|
|
package.prepare();
|
|
|
|
var logger = init({
|
|
cwd: package.path,
|
|
interactive: true
|
|
});
|
|
|
|
return helpers.expectEvent(logger, 'prompt')
|
|
.spread(function (prompt, answer) {
|
|
answer({
|
|
name: 'test-name',
|
|
version: 'test-version',
|
|
description: 'test-description',
|
|
moduleType: 'test-moduleType',
|
|
keywords: 'test-keyword',
|
|
authors: 'test-author',
|
|
license: 'test-license',
|
|
homepage: 'test-homepage',
|
|
private: true
|
|
});
|
|
|
|
return helpers.expectEvent(logger, 'prompt');
|
|
})
|
|
.spread(function (prompt, answer) {
|
|
answer({ prompt: true });
|
|
return helpers.expectEvent(logger, 'end');
|
|
})
|
|
.then(function () {
|
|
expect(package.readJson('bower.json')).to.eql({
|
|
name: 'test-name',
|
|
version: 'test-version',
|
|
homepage: 'test-homepage',
|
|
authors: [ 'test-author' ],
|
|
description: 'test-description',
|
|
moduleType: 'test-moduleType',
|
|
keywords: [ 'test-keyword' ],
|
|
license: 'test-license'
|
|
});
|
|
});
|
|
});
|
|
|
|
it('errors on non-interactive mode', function () {
|
|
package.prepare();
|
|
|
|
return helpers.run(init, { cwd: package.path }).then(
|
|
function () { throw 'should fail'; },
|
|
function (reason) {
|
|
expect(reason.message).to.be('Register requires an interactive shell');
|
|
expect(reason.code).to.be('ENOINT');
|
|
}
|
|
);
|
|
});
|
|
|
|
it('warns about existing bower.json', function () {
|
|
package.prepare({
|
|
'bower.json': {
|
|
name: 'foobar'
|
|
}
|
|
});
|
|
|
|
var logger = init({ cwd: package.path, interactive: true });
|
|
|
|
return helpers.expectEvent(logger, 'log').spread(function(event) {
|
|
expect(event.level).to.be('warn');
|
|
expect(event.message).to.be(
|
|
'The existing bower.json file will be used and filled in'
|
|
);
|
|
});
|
|
});
|
|
});
|