Files
gruvbox/node_modules/conventional-changelog-jscs/test.js

56 lines
1.9 KiB
JavaScript

'use strict';
var conventionalChangelogCore = require('conventional-changelog-core');
var config = require('./');
var expect = require('chai').expect;
var shell = require('shelljs');
var through = require('through2');
var writeFileSync = require('fs').writeFileSync;
describe('jscs preset', function() {
before(function() {
shell.config.silent = true;
shell.rm('-rf', 'tmp');
shell.mkdir('tmp');
shell.cd('tmp');
shell.mkdir('git-templates');
shell.exec('git init --template=./git-templates');
writeFileSync('test1', '');
shell.exec('git add --all && git commit -m"disallowKeywordsOnNewLine: Allow comments before keywords"');
writeFileSync('test2', '');
shell.exec('git add --all && git commit -m"CLI: set \\"maxErrors\\" to Infinity with enabled \\"fix\\" option"');
writeFileSync('test3', '');
shell.exec('git add --all && git commit -m"Preset: requireSemicolons = true for google preset"');
writeFileSync('test4', '');
shell.exec('git add --all && git commit -m"Preset: add jsDoc rules to relevant presets"');
writeFileSync('test5', '');
shell.exec('git add --all && git commit -m"Bad commit"');
});
it('should work if there is no semver tag', function(done) {
conventionalChangelogCore({
config: config
})
.on('error', function(err) {
done(err);
})
.pipe(through(function(chunk) {
chunk = chunk.toString();
expect(chunk).to.include('### disallowKeywordsOnNewLine');
expect(chunk).to.include('set \"maxErrors\" to Infinity with enabled \"fix\" option');
expect(chunk).to.include('requireSemicolons = true for google preset');
expect(chunk).to.include('### Preset');
expect(chunk).to.include('add jsDoc rules to relevant presets');
if (process.env.TRAVIS) {
expect(chunk).to.include(' (Travis-CI)');
}
expect(chunk).to.not.include('Bad');
done();
}));
});
});