This commit removes babel/es6 from all source and test files, because it was introducing a lot of overhead and only little gain. This commit fixes and enables integration tests on Travis. This commit fixes #153 and #151 along the way. _Originally this commit should have only removed babel, but without working tests that's a bit too hairy._ _I only realized that half way into removing babel/es6, so things are all over the place now._ Closes #153, Closes #151
98 lines
2.2 KiB
JavaScript
98 lines
2.2 KiB
JavaScript
var test = require('tap').test
|
|
|
|
var plugins = require('../../src/lib/plugins')
|
|
|
|
test('export plugins', function (t) {
|
|
t.plan(5)
|
|
|
|
var defaultPlugins = plugins({})
|
|
|
|
t.is(typeof defaultPlugins.analyzeCommits, 'function')
|
|
t.is(typeof defaultPlugins.generateNotes, 'function')
|
|
t.is(typeof defaultPlugins.verifyConditions, 'function')
|
|
t.is(typeof defaultPlugins.verifyRelease, 'function')
|
|
t.is(typeof defaultPlugins.getLastRelease, 'function')
|
|
})
|
|
|
|
test('plugin pipelines', function (t) {
|
|
t.plan(3)
|
|
|
|
t.test('get all results', function (tt) {
|
|
var pipelinePlugins = plugins({
|
|
verifyRelease: [
|
|
'./src/lib/plugin-noop',
|
|
'./test/mocks/plugin-result-a',
|
|
'./test/mocks/plugin-result-b'
|
|
]
|
|
})
|
|
|
|
pipelinePlugins.verifyRelease({}, function (err, results) {
|
|
tt.error(err)
|
|
tt.same(results, [undefined, 'a', 'b'])
|
|
tt.end()
|
|
})
|
|
})
|
|
|
|
t.test('get first error', function (tt) {
|
|
var pipelinePlugins = plugins({
|
|
verifyConditions: [
|
|
'./src/lib/plugin-noop',
|
|
'./test/mocks/plugin-error-a',
|
|
'./test/mocks/plugin-error-b'
|
|
]
|
|
})
|
|
|
|
pipelinePlugins.verifyConditions({}, function (err) {
|
|
tt.is(err.message, 'a')
|
|
tt.end()
|
|
})
|
|
})
|
|
|
|
t.test('get error and only results before', function (tt) {
|
|
var pipelinePlugins = plugins({
|
|
verifyRelease: [
|
|
'./src/lib/plugin-noop',
|
|
'./test/mocks/plugin-result-a',
|
|
'./test/mocks/plugin-error-b',
|
|
'./test/mocks/plugin-result-b'
|
|
]
|
|
})
|
|
|
|
pipelinePlugins.verifyRelease({}, function (err, results) {
|
|
tt.is(err.message, 'b')
|
|
tt.same(results, [undefined, 'a', undefined])
|
|
tt.end()
|
|
})
|
|
})
|
|
})
|
|
|
|
test('normalize and load plugin', function (t) {
|
|
t.test('load from string', function (tt) {
|
|
var plugin = plugins.normalize('./src/lib/plugin-noop')
|
|
|
|
tt.is(typeof plugin, 'function')
|
|
|
|
tt.end()
|
|
})
|
|
|
|
t.test('load from object', function (tt) {
|
|
var plugin = plugins.normalize({
|
|
path: './src/lib/plugin-noop'
|
|
})
|
|
|
|
tt.is(typeof plugin, 'function')
|
|
|
|
tt.end()
|
|
})
|
|
|
|
t.test('load from fallback', function (tt) {
|
|
var plugin = plugins.normalize(null, '../../src/lib/plugin-noop')
|
|
|
|
tt.is(typeof plugin, 'function')
|
|
|
|
tt.end()
|
|
})
|
|
|
|
t.end()
|
|
})
|