// NOTE: This needs to be updated when tests are added/removed tap.test('Headless mode should produce a .hcd file', function(t) { setTimeout(function() { fs.readdir(outputDir, function(error, files) { if (error) { t.fail('An error occurred: ' + error); t.end(); cleanUp(); return; } for (var i = 0, len = files.length; i < len; i++) { if (/(\w+)\.hcd/.test(files[i].toString())) { t.pass(files[i] + ' HCD file found'); t.end(); cleanUp(); return; } } t.fail('No .hcd file found'); t.end(); cleanUp(); }); }, 70000); });
test('checksum computed only once', function t(assert) { assert.plan(1); var ring = new HashRing(); ring.on('checksumComputed', function onComputed() { assert.pass('checksum computed'); }); ring.addRemoveServers(servers, servers); assert.end(); });
test('async await support', t => { if (Number(process.versions.node[0]) >= 8) { require('./async-await')(t.test, port) } else { t.pass('Skip because Node version < 8') } t.end() })
tap.test('dont walk past the maxDepth', async t => { const maxDepth = 3 const walker = asyncFolderWalker(['.git', 'node_modules'], { maxDepth }) for await (const file of walker) { const correctLength = file.split(path.sep).length - process.cwd().split(path.sep).length <= maxDepth if (!correctLength) t.fail('walker walked past the depth it was supposed to') } t.pass('Walker was depth limited') })
test('server -- start & close', t => { const ee = server({ port: 3000, cache }) ee.on('start', async () => { t.pass() await ee.close() t.end() }) })
function loggerTests () { test(testName, (t) => { t.plan(1) t.comment('logger test') let originalDebugValue = process.env.DEBUG process.env.DEBUG = '*' logger = logger(module) logger('Is this thing turned on?') process.env.DEBUG = originalDebugValue t.pass('test message logged in DEBUG mode') }) }
test('cleanup', function (t) { t.pass(base) fixture.remove(base) t.end() })
test('must forward a single event', test => { test.plan(1); const sourceEventEmitter = new events.EventEmitter(); const targetEventEmitter = new events.EventEmitter(); common.forwardEvent(sourceEventEmitter, targetEventEmitter, 'testEvent'); targetEventEmitter.on('testEvent', () => { test.pass('event handler must be called'); }); sourceEventEmitter.emit('testEvent'); });
tap.test('No folders', async t => { const [dir, cleanup] = await tmp() try { for await (const file of asyncFolderWalker(dir)) { t.fail(file, 'no files should be found!') } t.pass('for of executed') } finally { await cleanup() } })
test('cleanup', function (t) { t.pass('cleaned up') server.done() server.close() t.end() })
test('server -- restart', t => { const ee = server({ port: 3001, cache }) setTimeout(async () => { await ee.restart({ port: 3002, cache }) t.pass() await ee.close() t.end() }) })
tap.test('No args', async t => { for await (const file of asyncFolderWalker()) { t.fail(file, 'no files should be found!') } t.pass('for of executed') })
test('checksum computed only once', function t(assert) { assert.plan(1); var ring = new HashRing(); ring.on('checksumComputed', function onComputed() { assert.pass('checksum computed'); }); ring.addRemoveServers(servers, servers); assert.end(); });