Tests fail b/c of missing versions for dev dependencies
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.6k
- Forks
- 237
- PR merge metrics
- No merged PRs in 30d
Description
Versions for devDependencies are "" (empty string), which installs latest available ones. This results in npm test not running, since Sinon deprecated (and nuked) a bunch of APIs.
npm test output
> needle@2.2.1 test /Users/elmigranto/Temp/needle
> mocha test
Basic Auth
when neither username or password are passed
✓ doesnt send any Authorization headers
when username is an empty string, and password is a valid string
✓ doesnt send any Authorization headers
when username is a valid string, but no username is passed
✓ sends Authorization header
✓ Basic Auth only includes username, without colon
when username is a valid string, and password is null
✓ sends Authorization header
✓ Basic Auth only includes both username and password
when username is a valid string, and password is an empty string
✓ sends Authorization header
✓ Basic Auth only includes both username and password
when username AND password are non empty strings
✓ sends Authorization header
✓ Basic Auth only includes both user and password
URL with @ but not username/pass
✓ doesnt send Authorization header
✓ sends user:pass headers if passed via options
when username/password are included in URL
✓ sends Authorization header
✓ Basic Auth only includes both user and password
compression
when server supports compression
and client requests no compression
✓ should have the body decompressed
and client requests gzip compression
✓ should have the body decompressed
and client requests deflate compression
✓ should have the body decompressed
✓ should rethrow errors from decompressors
cookies
with default options
✓ no cookie header is set on request
if response does not contain cookies
✓ response.cookies is undefined
if response contains cookies
✓ puts them on resp.cookies
✓ parses them as a object
✓ must decode it
when a cookie value is invalid
✓ doesnt blow up
and response is a redirect
and follow_set_cookies is false
✓ no cookie header set on redirection request
and follow_set_cookies is true
✓ should have all the cookies
with parse_cookies = false
✓ does not parse them
if request contains cookie header
✓ must be a valid cookie string
✓ dont have to encode allowed characters
✓ must encode forbidden characters
character encoding
test A
with decode = false
✓ does not decode (1168ms)
with decode = true
✓ decodes (1196ms)
test B
✓ encodes to UTF-8 (1038ms)
errors
when host does not exist
with callback
✓ does not throw
✓ callbacks an error
✓ error should be ENOTFOUND
✓ does not callback a response
✓ does not emit an error event (106ms)
without callback
✓ does not throw
✓ emits end event once, with error (201ms)
✓ error should be ENOTFOUND or EADDRINFO (205ms)
✓ does not emit a readable event (55ms)
✓ does not emit an error event (104ms)
when request times out waiting for response
with callback
✓ aborts the request (209ms)
✓ callbacks an error (209ms)
✓ error should be ECONNRESET (204ms)
✓ does not callback a response (205ms)
✓ does not emit an error event (356ms)
without callback
✓ emits done event once, with error (251ms)
✓ aborts the request (206ms)
✓ error should be ECONNRESET (257ms)
✓ does not emit a readable event (256ms)
✓ does not emit an error event (103ms)
request headers
old node versions (<0.11.4) with persistent keep-alive connections
default options
✓ sends a Connection: close header
✓ no open sockets remain after request
passing connection: close
✓ sends a Connection: close header
✓ no open sockets remain after request
passing connection: keep-alive
✓ sends a Connection: keep-alive header (using options.headers.connection)
✓ sends a Connection: keep-alive header (using options.connection)
✓ one open socket remain after request
new node versions with smarter connection disposing
default options
- sets a Connection header
- one open sockets remain after request
passing connection: close
✓ sends a Connection: close header
✓ no open sockets remain after request
passing connection: keep-alive
✓ sends a Connection: keep-alive header (using options.headers.connection)
✓ sends a Connection: keep-alive header (using options.connection)
✓ one open socket remain after request
when posting a very long string
✓ shouldn't throw an EPIPE error out of nowhere (573ms)
with output option
and a 404 response
✓ doesnt attempt to write a file
✓ doesnt actually write a file
and a 200 response
for an empty response
✓ uses a writableStream
✓ writes a file
✓ file is zero bytes in length
1) closes the file descriptor
for a JSON response
✓ uses a writableStream
✓ writes a file
✓ file size equals response length
✓ response pipeline is honoured (JSON is decoded by default)
2) closes the file descriptor
for a binary file
✓ uses a writableStream
✓ writes a file
✓ file size equals response length
✓ file is equal to original buffer
✓ returns the data in resp.body too
3) closes the file descriptor
parsing
when response is an JSON string
and parse option is not passed
with default parse_response
✓ should return object
and default parse_response is set to false
✓ does NOT return object when disabled using .defaults
and parse option is true
and JSON is valid
✓ should return object
✓ should have a .parser = json property
and response is empty
✓ should return an empty string
and JSON is invalid
✓ does not throw
✓ does NOT return object
and parse option is false
✓ does NOT return object
✓ should NOT have a .parser = json property
and parse option is "xml"
✓ does NOT return object
✓ should NOT have a .parser = json property
when response is JSON 'false'
and parse option is not passed
✓ should return object
and parse option is true
and JSON is valid
✓ should return object
and response is empty
✓ should return an empty string
and JSON is invalid
✓ does not throw
✓ does NOT return object
and parse option is false
✓ does NOT return object
and parse option is "xml"
✓ does NOT return object
when response is an invalid XML string
and parse_response is true
✓ should return original string
✓ should not have a .parser = xml property
and parse response is false
✓ should return valid object
✓ should not have a .parser property
when response is a valid XML string
and parse_response is true
✓ should return valid object
✓ should have a .parser = xml property
and parse response is false
✓ should return valid object
✓ should not have a .parser property
valid XML, using xml2js
and parse_response is true
✓ should return valid object
✓ should have a .parser = xml property
and parse response is false
✓ should return valid object
✓ should not have a .parser property
post data (e.g. request body)
with multipart: true
when null
4) sends request (non multipart)
✓ doesnt set Content-Type header
✓ doesnt change default Accept header
5) doesnt write anything
when string
✓ explodes
when object
get request
6) sends request
✓ sets Content-Type header
✓ doesnt change default Accept header
7) writes string as buffer
8) writes japanese chars correctly as binary
post request
9) sends request
10) writes string as buffer
11) writes japanese chars correctly as binary
when stream
✓ explodes
non multipart
when null
get request
12) sends request
13) doesnt write anything
post request
14) sends request
15) doesnt write anything
when string with no equal sign
get request
✓ explodes
post request
16) sends request
17) writes string as buffer
when string WITH equal sign
get request
with json: false (default)
18) sends request, adding data as querystring
✓ doesnt set Content-Type header
✓ doesnt change default Accept header
19) doesnt write anything
with json: true
20) sends request, without setting a querystring
✓ sets Content-Type header
✓ set Accept header to application/json
21) writes raw string (assuming it already is JSON, so no JSON.stringify)
post request
with json: false (default)
22) sends request
✓ sets Content-Type header to www-form-urlencoded
✓ doesnt change default Accept header
23) writes as buffer
with json: true
24) sends request
✓ sets Content-Type header
✓ set Accept header to application/json
25) writes raw string (assuming it already is JSON, so no JSON.stringify)
when object
get request
with json: false (default)
26) sends request, adding data as querystring
✓ doesnt set Content-Type header
✓ doesnt change default Accept header
27) doesnt write anything
with json: true
28) sends request, without setting a querystring
✓ sets Content-Type header
✓ set Accept header to application/json
29) writes JSON.stringify version of object
post request
with json: false (default)
30) sends request
✓ sets Content-Type header to www-form-urlencoded
✓ doesnt change default Accept header
31) writes as buffer
with json: false and content_type = "application/json"
32) sends request
✓ sets Content-Type header to application/json
✓ doesnt change default Accept header
33) writes as buffer
with json: undefined but content-type = application/json
34) sends request
✓ doesnt change Content-Type header
✓ leaves default Accept header
35) writes JSON.stringified object
with json: true
36) sends request
✓ sets Content-Type header
✓ set Accept header to application/json
37) writes JSON.stringified object
with json: true and content_type: */* (passed, not default)
38) sends request
✓ sets Content-Type header to application/json
✓ respects Accept header set by user
39) writes JSON.stringified object
when buffer
get request
with json: false (default)
40) sends request
✓ sets Content-Type header
✓ doesnt change default Accept header
41) writes as buffer
with json: true
42) sends request, without setting a querystring
✓ sets Content-Type header
✓ set Accept header to application/json
43) writes JSON.stringify version of object
post request
with json: false (default)
44) sends request
✓ sets Content-Type header to www-form-urlencoded
✓ doesnt change default Accept header
45) writes as buffer
with json: true
46) sends request
✓ sets Content-Type header
✓ set Accept header to application/json
47) passes raw buffer (assuming its a JSON string beneath)
when stream
get request
✓ explodes
post request
with json: false (default)
48) sends request
✓ sets Content-Type header to www-form-urlencoded
✓ doesnt change default Accept header
49) writes as buffer
with json: true
50) sends request
✓ sets Content-Type header
✓ set Accept header to application/json
51) writes JSON.stringified object
proxy option
when null proxy is passed
✓ does not proxy
but defaults has been set
✓ tries to proxy anyway
when weird string is passed
✓ tries to proxy anyway
when valid url is passed
✓ proxies request
✓ does not set a Proxy-Authorization header
and proxy url contains user:pass
✓ proxies request
✓ sets Proxy-Authorization header
and a proxy_user is passed
✓ proxies request
✓ sets Proxy-Authorization header
and url also contains user:pass
✓ url user:pass wins
and options.username is also present
✓ a separate Authorization header is set
stringify
with null
✓ throws
with a number
✓ throws
with a string
that is empty
✓ throws
that doesnt contain an equal sign
✓ throws
that contains an equal sign
✓ works
with an array
with key val objects
✓ works
where all elements are strings with an equal sign
✓ works
with random words
✓ throws
with integers
✓ throws
with an object
✓ works
with object where val is an array
✓ works
with object where val is an array of key val objects
✓ works
redirects
when overriding defaults
and redirected to the same path on same host and protocol
✓ does not follow redirect
52) "after each" hook for "does not follow redirect"
follow redirects when read_timeout is set
✓ clear timeout before following redirect (3001ms)
request stream length
no stream_length set
✓ doesnt set Content-Length header
✓ doesnt work if Transfer-Encoding is set to a blank string
✓ works if Transfer-Encoding is not set
stream_length set to invalid value
✓ sets Content-Length header to that value
✓ doesnt work if Transfer-Encoding is set to a blank string
✓ doesnt work if Transfer-Encoding is not set
stream_length is set to valid value
✓ sets Content-Length header to that value
✓ works if Transfer-Encoding is set to a blank string
✓ works if Transfer-Encoding is not set
stream_length set to 0
stream with path
53) "before each" hook for "sets Content-Length header to streams length"
54) "after each" hook for "sets Content-Length header to streams length"
stream without path
✓ does not set Content-Length header
✓ doesnt work if Transfer-Encoding is set to a blank string
✓ works if Transfer-Encoding is not set
response streams
when the server sends back json
and the client uses streams
✓ should create a proper streams2 stream
✓ emits a single data item which is our JSON object
✓ emits a raw buffer if we do not want to parse JSON
when the server sends back what was posted to it
✓ can PUT a stream
✓ can PATCH a stream
socket reuse
when sockets are reused
✓ does not duplicate listeners on .end (552ms)
urls
null URL
✓ throws
invalid protocol
✓ fails
invalid host
✓ fails
valid protocol and path
✓ works
no protocol but with slashes and valid path
✓ works
no protocol nor slashes and valid path
✓ works
double encoding
✓ should not occur
202 passing (12s)
2 pending
54 failing
1) with output option
and a 200 response
for an empty response
closes the file descriptor:
Error: ENOENT: no such file or directory, scandir '/proc/self/fd'
at Object.fs.readdirSync (fs.js:904:18)
at get_open_file_descriptors (test/output_spec.js:27:19)
at Context.<anonymous> (test/output_spec.js:114:34)
2) with output option
and a 200 response
for a JSON response
closes the file descriptor:
Error: ENOENT: no such file or directory, scandir '/proc/self/fd'
at Object.fs.readdirSync (fs.js:904:18)
at get_open_file_descriptors (test/output_spec.js:27:19)
at Context.<anonymous> (test/output_spec.js:171:32)
3) with output option
and a 200 response
for a binary file
closes the file descriptor:
Error: ENOENT: no such file or directory, scandir '/proc/self/fd'
at Object.fs.readdirSync (fs.js:904:18)
at get_open_file_descriptors (test/output_spec.js:27:19)
at Context.<anonymous> (test/output_spec.js:241:34)
4) post data (e.g. request body)
with multipart: true
when null
sends request (non multipart):
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:61:9)
5) post data (e.g. request body)
with multipart: true
when null
doesnt write anything:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:85:9)
6) post data (e.g. request body)
with multipart: true
when object
get request
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:111:11)
7) post data (e.g. request body)
with multipart: true
when object
get request
writes string as buffer:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:134:11)
8) post data (e.g. request body)
with multipart: true
when object
get request
writes japanese chars correctly as binary:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:147:11)
9) post data (e.g. request body)
with multipart: true
when object
post request
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:164:11)
10) post data (e.g. request body)
with multipart: true
when object
post request
writes string as buffer:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:173:11)
11) post data (e.g. request body)
with multipart: true
when object
post request
writes japanese chars correctly as binary:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:185:11)
12) post data (e.g. request body)
non multipart
when null
get request
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:228:11)
13) post data (e.g. request body)
non multipart
when null
get request
doesnt write anything:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:237:11)
14) post data (e.g. request body)
non multipart
when null
post request
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:251:11)
15) post data (e.g. request body)
non multipart
when null
post request
doesnt write anything:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:260:11)
16) post data (e.g. request body)
non multipart
when string with no equal sign
post request
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:288:11)
17) post data (e.g. request body)
non multipart
when string with no equal sign
post request
writes string as buffer:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:297:11)
18) post data (e.g. request body)
non multipart
when string WITH equal sign
get request
with json: false (default)
sends request, adding data as querystring:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:319:13)
19) post data (e.g. request body)
non multipart
when string WITH equal sign
get request
with json: false (default)
doesnt write anything:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:346:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
20) post data (e.g. request body)
non multipart
when string WITH equal sign
get request
with json: true
sends request, without setting a querystring:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:357:13)
21) post data (e.g. request body)
non multipart
when string WITH equal sign
get request
with json: true
writes raw string (assuming it already is JSON, so no JSON.stringify):
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:382:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
22) post data (e.g. request body)
non multipart
when string WITH equal sign
post request
with json: false (default)
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:398:13)
23) post data (e.g. request body)
non multipart
when string WITH equal sign
post request
with json: false (default)
writes as buffer:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:423:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
24) post data (e.g. request body)
non multipart
when string WITH equal sign
post request
with json: true
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:436:13)
25) post data (e.g. request body)
non multipart
when string WITH equal sign
post request
with json: true
writes raw string (assuming it already is JSON, so no JSON.stringify):
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:460:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
26) post data (e.g. request body)
non multipart
when object
get request
with json: false (default)
sends request, adding data as querystring:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:481:13)
27) post data (e.g. request body)
non multipart
when object
get request
with json: false (default)
doesnt write anything:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:508:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
28) post data (e.g. request body)
non multipart
when object
get request
with json: true
sends request, without setting a querystring:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:519:13)
29) post data (e.g. request body)
non multipart
when object
get request
with json: true
writes JSON.stringify version of object:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:544:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
30) post data (e.g. request body)
non multipart
when object
post request
with json: false (default)
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:561:13)
31) post data (e.g. request body)
non multipart
when object
post request
with json: false (default)
writes as buffer:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:586:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
32) post data (e.g. request body)
non multipart
when object
post request
with json: false and content_type = "application/json"
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:601:13)
33) post data (e.g. request body)
non multipart
when object
post request
with json: false and content_type = "application/json"
writes as buffer:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:626:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
34) post data (e.g. request body)
non multipart
when object
post request
with json: undefined but content-type = application/json
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:641:13)
35) post data (e.g. request body)
non multipart
when object
post request
with json: undefined but content-type = application/json
writes JSON.stringified object:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:665:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
36) post data (e.g. request body)
non multipart
when object
post request
with json: true
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:677:13)
37) post data (e.g. request body)
non multipart
when object
post request
with json: true
writes JSON.stringified object:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:701:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
38) post data (e.g. request body)
non multipart
when object
post request
with json: true and content_type: */* (passed, not default)
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:717:13)
39) post data (e.g. request body)
non multipart
when object
post request
with json: true and content_type: */* (passed, not default)
writes JSON.stringified object:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:741:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
40) post data (e.g. request body)
non multipart
when buffer
get request
with json: false (default)
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:762:13)
41) post data (e.g. request body)
non multipart
when buffer
get request
with json: false (default)
writes as buffer:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:789:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
42) post data (e.g. request body)
non multipart
when buffer
get request
with json: true
sends request, without setting a querystring:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:802:13)
43) post data (e.g. request body)
non multipart
when buffer
get request
with json: true
writes JSON.stringify version of object:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:826:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
44) post data (e.g. request body)
non multipart
when buffer
post request
with json: false (default)
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:842:13)
45) post data (e.g. request body)
non multipart
when buffer
post request
with json: false (default)
writes as buffer:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:867:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
46) post data (e.g. request body)
non multipart
when buffer
post request
with json: true
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:880:13)
47) post data (e.g. request body)
non multipart
when buffer
post request
with json: true
passes raw buffer (assuming its a JSON string beneath):
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:904:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
48) post data (e.g. request body)
non multipart
when stream
post request
with json: false (default)
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:944:13)
49) post data (e.g. request body)
non multipart
when stream
post request
with json: false (default)
writes as buffer:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:969:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
50) post data (e.g. request body)
non multipart
when stream
post request
with json: true
sends request:
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at spystub_request (test/post_data_spec.js:43:18)
at Context.<anonymous> (test/post_data_spec.js:982:13)
51) post data (e.g. request body)
non multipart
when stream
post request
with json: true
writes JSON.stringified object:
Uncaught TypeError: Cannot read property 'called' of undefined
at /Users/elmigranto/Temp/needle/test/post_data_spec.js:1006:19
at done (lib/needle.js:442:14)
at PassThrough.<anonymous> (lib/needle.js:687:9)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)
52) redirects
"after each" hook for "does not follow redirect":
TypeError: spies.http.reset is not a function
at Context.<anonymous> (test/redirect_spec.js:118:18)
53) request stream length
stream_length set to 0
stream with path
"before each" hook for "sets Content-Length header to streams length":
TypeError: stub(obj, 'meth', fn) has been removed, see documentation
at stub (node_modules/sinon/lib/sinon/stub.js:25:15)
at Sandbox.stub (node_modules/sinon/lib/sinon/sandbox.js:290:33)
at Context.<anonymous> (test/request_stream_spec.js:140:22)
54) request stream length
stream_length set to 0
stream with path
"after each" hook for "sets Content-Length header to streams length":
TypeError: Cannot read property 'restore' of undefined
at Context.<anonymous> (test/request_stream_spec.js:146:14)
Seems like installing sinon@2 works (I ran npm i sinon@2 --save-dev). Here's a git diff for package.json when I managed to run tests successfully, except for failing tests that try to read /proc/self/fd (fails on macOS):
diff --git a/package.json b/package.json
index b7c3cf6..56f075e 100644
--- a/package.json
+++ b/package.json
@@ -45,13 +45,13 @@
"sax": "^1.2.4"
},
"devDependencies": {
- "mocha": "",
- "sinon": "",
- "should": "",
- "xml2js": "",
"JSONStream": "",
+ "jschardet": "",
+ "mocha": "",
"q": "",
- "jschardet": ""
+ "should": "",
+ "sinon": "^2.4.1",
+ "xml2js": ""
},
"scripts": {
"test": "mocha test"
Though I'd suggest adding versions for everything… Alternatively, maybe adding package-lock.json would help on newer npm versions. Here's the one I got:
package-lock.json
{
"name": "needle",
"version": "2.2.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"JSONStream": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.3.tgz",
"integrity": "sha512-3Sp6WZZ/lXl+nTDoGpGWHEpTnnC6X5fnkolYZR6nwIfzbxxvA8utPWe1gCt7i0m9uVGsSz2IS8K8mJ7HmlduMg==",
"requires": {
"jsonparse": "^1.2.0",
"through": ">=2.2.7 <3"
}
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"browser-stdout": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
"integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw=="
},
"commander": {
"version": "2.15.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
"integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag=="
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"diff": {
"version": "3.5.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
"integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA=="
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"formatio": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/formatio/-/formatio-1.2.0.tgz",
"integrity": "sha1-87IWfZBoxGmKjVH092CjmlTYGOs=",
"dev": true,
"requires": {
"samsam": "1.x"
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"growl": {
"version": "1.10.5",
"resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA=="
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
"he": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz",
"integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0="
},
"iconv-lite": {
"version": "0.4.23",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
"integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"jschardet": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.6.0.tgz",
"integrity": "sha512-xYuhvQ7I9PDJIGBWev9xm0+SMSed3ZDBAmvVjbFR1ZRLAF+vlXcQu6cRI9uAlj81rzikElRVteehwV7DuX2ZmQ=="
},
"jsonparse": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
},
"lolex": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/lolex/-/lolex-1.6.0.tgz",
"integrity": "sha1-OpoCg0UqR9dDnnJzG54H1zhuSfY=",
"dev": true
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
},
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"requires": {
"minimist": "0.0.8"
}
},
"mocha": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz",
"integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==",
"requires": {
"browser-stdout": "1.3.1",
"commander": "2.15.1",
"debug": "3.1.0",
"diff": "3.5.0",
"escape-string-regexp": "1.0.5",
"glob": "7.1.2",
"growl": "1.10.5",
"he": "1.1.1",
"minimatch": "3.0.4",
"mkdirp": "0.5.1",
"supports-color": "5.4.0"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "2.0.0"
}
}
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"native-promise-only": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz",
"integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=",
"dev": true
},
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"requires": {
"wrappy": "1"
}
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
"path-to-regexp": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
"integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
"dev": true,
"requires": {
"isarray": "0.0.1"
}
},
"q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"samsam": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/samsam/-/samsam-1.3.0.tgz",
"integrity": "sha512-1HwIYD/8UlOtFS3QO3w7ey+SdSDFE4HRNLZoZRYVQefrOY3l17epswImeB1ijgJFQJodIaHcwkp3r/myBjFVbg==",
"dev": true
},
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"should": {
"version": "13.2.3",
"resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz",
"integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==",
"requires": {
"should-equal": "^2.0.0",
"should-format": "^3.0.3",
"should-type": "^1.4.0",
"should-type-adaptors": "^1.0.1",
"should-util": "^1.0.0"
}
},
"should-equal": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz",
"integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==",
"requires": {
"should-type": "^1.4.0"
}
},
"should-format": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz",
"integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=",
"requires": {
"should-type": "^1.3.0",
"should-type-adaptors": "^1.0.1"
}
},
"should-type": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz",
"integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM="
},
"should-type-adaptors": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz",
"integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==",
"requires": {
"should-type": "^1.3.0",
"should-util": "^1.0.0"
}
},
"should-util": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.0.tgz",
"integrity": "sha1-yYzaN0qmsZDfi6h8mInCtNtiAGM="
},
"sinon": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-2.4.1.tgz",
"integrity": "sha512-vFTrO9Wt0ECffDYIPSP/E5bBugt0UjcBQOfQUMh66xzkyPEnhl/vM2LRZi2ajuTdkH07sA6DzrM6KvdvGIH8xw==",
"dev": true,
"requires": {
"diff": "^3.1.0",
"formatio": "1.2.0",
"lolex": "^1.6.0",
"native-promise-only": "^0.8.1",
"path-to-regexp": "^1.7.0",
"samsam": "^1.1.3",
"text-encoding": "0.6.4",
"type-detect": "^4.0.0"
}
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"requires": {
"has-flag": "^3.0.0"
}
},
"text-encoding": {
"version": "0.6.4",
"resolved": "https://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
"integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=",
"dev": true
},
"through": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"type-detect": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
"integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
"dev": true
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"xml2js": {
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~9.0.1"
}
},
"xmlbuilder": {
"version": "9.0.7",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
"integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0="
}
}
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the devDependencies entries and reproducing the failure with npm test. Compare the empty versions with the dependency behavior described in the issue, then rerun npm test; done means the development dependencies are versioned and the test suite runs without the reported failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, node.js
- Domain
- testing-qa, tooling
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100