-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* started writing a couple of automated tests to chip in, working towards the 100% test coverage goal * added a couple more tests and eslint fixes * added all the cases for the basename * better test description * added the plan for the subtest too in the dicer-write.test.js * PR review: removed the t.end() in dicer-write.test.js --------- Co-authored-by: Giovanni Bucci <giovanni.bucci@nearform.com>
- Loading branch information
Showing
4 changed files
with
80 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
'use strict' | ||
|
||
const { test } = require('tap') | ||
const basename = require('../lib/utils/basename') | ||
|
||
test('basename', (t) => { | ||
const testCases = [ | ||
{ description: 'returns an empty string if the path is not a string', path: {}, expected: '' }, | ||
{ description: 'returns an empty string if the path includes a \' and the char after is a .', path: 'path\\.', expected: '' }, | ||
{ description: 'returns an empty string if the path includes a / and the char after is a .', path: 'path/.', expected: '' }, | ||
{ description: 'returns an empty string if the path includes a \' and the chars after are a ..', path: 'path\\..', expected: '' }, | ||
{ description: 'returns an empty string if the path includes a / and the chars after are a ..', path: 'path/..', expected: '' }, | ||
{ description: 'returns the path if the path includes a \' and the rest is anything other than dots', path: 'path\\subpath', expected: 'subpath' }, | ||
{ description: 'returns the path if the path includes a / and the rest is anything other than dots', path: 'path/subpath', expected: 'subpath' }, | ||
{ description: 'returns an empty string if the path is a .', path: '.', expected: '' }, | ||
{ description: 'returns an empty string if the path is a ..', path: '..', expected: '' }, | ||
{ description: 'returns the path if the path is anything other than dots', path: 'subpath', expected: 'subpath' } | ||
] | ||
|
||
t.plan(testCases.length) | ||
|
||
testCases.forEach((testCase, index) => { | ||
t.test(testCase.description, t => { | ||
t.plan(1) | ||
t.equal(basename(testCase.path), testCase.expected, `Test case ${index + 1}`) | ||
}) | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
'use strict' | ||
|
||
const Busboy = require('../lib/main') | ||
const { test } = require('tap') | ||
|
||
test('busboy, emit', t => { | ||
t.plan(1) | ||
|
||
t.test('returns undefined when the event is called a second time and the busboy was already finished', t => { | ||
const busboy = new Busboy({ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) | ||
busboy._finished = true | ||
busboy.emit('finish') | ||
|
||
t.equal(busboy.emit('finish'), undefined) | ||
t.end() | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
'use strict' | ||
|
||
const { test } = require('tap') | ||
const { Dicer } = require('../lib/main') | ||
|
||
test('dicer _write method', t => { | ||
t.plan(1) | ||
|
||
t.test('calls the callback cb() when headerFirst is set and all the data have been written', t => { | ||
t.plan(1) | ||
const dicer = new Dicer({ headerFirst: true }) | ||
|
||
dicer._write(Buffer.from('Content-Type: text/plain'), null, () => { | ||
dicer._write(Buffer.from('Content-Type: text/plain'), null, () => { | ||
t.pass('write method called') | ||
}) | ||
}) | ||
}) | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
'use strict' | ||
|
||
const Multipart = require('../lib/types/multipart') | ||
const Busboy = require('../lib/main') | ||
const { test } = require('tap') | ||
|
||
test('multipart constructor', t => { | ||
t.plan(1) | ||
|
||
t.test('throws if the boundary is not a string', t => { | ||
const busboy = new Busboy({ headers: { 'content-type': 'application/x-www-form-urlencoded' } }) | ||
|
||
t.throws(() => new Multipart(busboy, { boundary: 123 }), new Error('Multipart: Boundary not found')) | ||
t.end() | ||
}) | ||
}) |