routie dev init since i didn't adhere to any proper guidance up until now
This commit is contained in:
+218
@@ -0,0 +1,218 @@
|
||||
/**
|
||||
* @author Toru Nagashima
|
||||
* @copyright 2016 Toru Nagashima. All rights reserved.
|
||||
* See LICENSE file in root directory for full license.
|
||||
*/
|
||||
'use strict'
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Requirements
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
const assert = require('assert').strict
|
||||
const nodeApi = require('../lib')
|
||||
const BufferStream = require('./lib/buffer-stream')
|
||||
const { result, removeResult, runAll, runPar, runSeq } = require('./lib/util')
|
||||
|
||||
// ------------------------------------------------------------------------------
|
||||
// Test
|
||||
// ------------------------------------------------------------------------------
|
||||
|
||||
describe('[pattern] it should run matched tasks if glob like patterns are given.', () => {
|
||||
before(() => process.chdir('test-workspace'))
|
||||
after(() => process.chdir('..'))
|
||||
beforeEach(removeResult)
|
||||
|
||||
describe('"test-task:append:*" to "test-task:append:a" and "test-task:append:b"', () => {
|
||||
it('Node API', async () => {
|
||||
await nodeApi('test-task:append:*')
|
||||
assert(result() === 'aabb')
|
||||
})
|
||||
|
||||
it('npm-run-all command', async () => {
|
||||
await runAll(['test-task:append:*'])
|
||||
assert(result() === 'aabb')
|
||||
})
|
||||
|
||||
it('run-s command', async () => {
|
||||
await runSeq(['test-task:append:*'])
|
||||
assert(result() === 'aabb')
|
||||
})
|
||||
|
||||
it('run-p command', async () => {
|
||||
await runPar(['test-task:append:*'])
|
||||
assert(
|
||||
result() === 'abab' ||
|
||||
result() === 'abba' ||
|
||||
result() === 'baba' ||
|
||||
result() === 'baab'
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
describe('"test-task:append:**" to "test-task:append:a", "test-task:append:a:c", "test-task:append:a:d", and "test-task:append:b"', () => {
|
||||
it('Node API', async () => {
|
||||
await nodeApi('test-task:append:**')
|
||||
assert(result() === 'aaacacadadbb')
|
||||
})
|
||||
|
||||
it('npm-run-all command', async () => {
|
||||
await runAll(['test-task:append:**'])
|
||||
assert(result() === 'aaacacadadbb')
|
||||
})
|
||||
|
||||
it('run-s command', async () => {
|
||||
await runSeq(['test-task:append:**'])
|
||||
assert(result() === 'aaacacadadbb')
|
||||
})
|
||||
})
|
||||
|
||||
// should act same way as section above
|
||||
describe('"test-task:append:**:*" to "test-task:append:a", "test-task:append:a:c", "test-task:append:a:d", and "test-task:append:b"', () => {
|
||||
it('Node API', async () => {
|
||||
await nodeApi('test-task:append:**:*')
|
||||
assert(result() === 'aaacacadadbb')
|
||||
})
|
||||
|
||||
it('npm-run-all command', async () => {
|
||||
await runAll(['test-task:append:**:*'])
|
||||
assert(result() === 'aaacacadadbb')
|
||||
})
|
||||
|
||||
it('run-s command', async () => {
|
||||
await runSeq(['test-task:append:**:*'])
|
||||
assert(result() === 'aaacacadadbb')
|
||||
})
|
||||
})
|
||||
|
||||
describe('(should ignore duplications) "test-task:append:b" "test-task:append:*" to "test-task:append:b", "test-task:append:a"', () => {
|
||||
it('Node API', async () => {
|
||||
await nodeApi(['test-task:append:b', 'test-task:append:*'])
|
||||
assert(result() === 'bbaa')
|
||||
})
|
||||
|
||||
it('npm-run-all command', async () => {
|
||||
await runAll(['test-task:append:b', 'test-task:append:*'])
|
||||
assert(result() === 'bbaa')
|
||||
})
|
||||
|
||||
it('run-s command', async () => {
|
||||
await runSeq(['test-task:append:b', 'test-task:append:*'])
|
||||
assert(result() === 'bbaa')
|
||||
})
|
||||
|
||||
it('run-p command', async () => {
|
||||
await runPar(['test-task:append:b', 'test-task:append:*'])
|
||||
assert(
|
||||
result() === 'baba' ||
|
||||
result() === 'baab' ||
|
||||
result() === 'abab' ||
|
||||
result() === 'abba'
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
describe('"a" should not match to "test-task:append:a"', () => {
|
||||
it('Node API', async () => {
|
||||
try {
|
||||
await nodeApi('a')
|
||||
assert(false, 'should not match')
|
||||
} catch (err) {
|
||||
assert((/not found/i).test(err.message))
|
||||
}
|
||||
})
|
||||
|
||||
it('npm-run-all command', async () => {
|
||||
const stderr = new BufferStream()
|
||||
try {
|
||||
await runAll(['a'], null, stderr)
|
||||
assert(false, 'should not match')
|
||||
} catch (_err) {
|
||||
assert((/not found/i).test(stderr.value))
|
||||
}
|
||||
})
|
||||
|
||||
it('run-s command', async () => {
|
||||
const stderr = new BufferStream()
|
||||
try {
|
||||
await runSeq(['a'], null, stderr)
|
||||
assert(false, 'should not match')
|
||||
} catch (_err) {
|
||||
assert((/not found/i).test(stderr.value))
|
||||
}
|
||||
})
|
||||
|
||||
it('run-p command', async () => {
|
||||
const stderr = new BufferStream()
|
||||
try {
|
||||
await runPar(['a'], null, stderr)
|
||||
assert(false, 'should not match')
|
||||
} catch (_err) {
|
||||
assert((/not found/i).test(stderr.value))
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
describe('"!test-task:**" should not match to anything', () => {
|
||||
it('Node API', async () => {
|
||||
try {
|
||||
await nodeApi('!test-task:**')
|
||||
assert(false, 'should not match')
|
||||
} catch (err) {
|
||||
assert((/not found/i).test(err.message))
|
||||
}
|
||||
})
|
||||
|
||||
it('npm-run-all command', async () => {
|
||||
const stderr = new BufferStream()
|
||||
try {
|
||||
await runAll(['!test-task:**'], null, stderr)
|
||||
assert(false, 'should not match')
|
||||
} catch (_err) {
|
||||
assert((/not found/i).test(stderr.value))
|
||||
}
|
||||
})
|
||||
|
||||
it('run-s command', async () => {
|
||||
const stderr = new BufferStream()
|
||||
try {
|
||||
await runSeq(['!test-task:**'], null, stderr)
|
||||
assert(false, 'should not match')
|
||||
} catch (_err) {
|
||||
assert((/not found/i).test(stderr.value))
|
||||
}
|
||||
})
|
||||
|
||||
it('run-p command', async () => {
|
||||
const stderr = new BufferStream()
|
||||
try {
|
||||
await runPar(['!test-task:**'], null, stderr)
|
||||
assert(false, 'should not match')
|
||||
} catch (_err) {
|
||||
assert((/not found/i).test(stderr.value))
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
describe('"!test" "?test" to "!test", "?test"', () => {
|
||||
it('Node API', async () => {
|
||||
await nodeApi(['!test', '?test'])
|
||||
assert(result().trim() === 'XQ')
|
||||
})
|
||||
|
||||
it('npm-run-all command', async () => {
|
||||
await runAll(['!test', '?test'])
|
||||
assert(result().trim() === 'XQ')
|
||||
})
|
||||
|
||||
it('run-s command', async () => {
|
||||
await runSeq(['!test', '?test'])
|
||||
assert(result().trim() === 'XQ')
|
||||
})
|
||||
|
||||
it('run-p command', async () => {
|
||||
await runPar(['!test', '?test'])
|
||||
assert(result().trim() === 'XQ' || result().trim() === 'QX')
|
||||
})
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user