1 var server = require('./server')
2 , assert = require('assert')
3 , request = require('../index')
4 , Cookie = require('cookie-jar')
6 , s = server.createServer()
8 s.listen(s.port, function () {
9 var serverUri = 'http://localhost:' + s.port
11 , numOutstandingTests = 0
13 function createTest(requestObj, serverAssertFn) {
14 var testNumber = numTests;
16 numOutstandingTests += 1;
17 s.on('/' + testNumber, function (req, res) {
18 serverAssertFn(req, res);
22 requestObj.url = serverUri + '/' + testNumber
23 request(requestObj, function (err, res, body) {
25 assert.equal(res.statusCode, 200)
26 numOutstandingTests -= 1
27 if (numOutstandingTests === 0) {
28 console.log(numTests + ' tests passed.')
34 // Issue #125: headers.cookie shouldn't be replaced when a cookie jar isn't specified
35 createTest({headers: {cookie: 'foo=bar'}}, function (req, res) {
36 assert.ok(req.headers.cookie)
37 assert.equal(req.headers.cookie, 'foo=bar')
40 // Issue #125: headers.cookie + cookie jar
42 jar.add(new Cookie('quux=baz'));
43 createTest({jar: jar, headers: {cookie: 'foo=bar'}}, function (req, res) {
44 assert.ok(req.headers.cookie)
45 assert.equal(req.headers.cookie, 'foo=bar; quux=baz')
48 // There should be no cookie header when neither headers.cookie nor a cookie jar is specified
49 createTest({}, function (req, res) {
50 assert.ok(!req.headers.cookie)