source: Dev/trunk/src/node_modules/request/tests/test-headers.js @ 484

Last change on this file since 484 was 484, checked in by hendrikvanantwerpen, 11 years ago

Commit node_modules, to make checkouts and builds more deterministic.

File size: 1.6 KB
Line 
1var server = require('./server')
2  , assert = require('assert')
3  , request = require('../index')
4  , Cookie = require('cookie-jar')
5  , Jar = Cookie.Jar
6  , s = server.createServer()
7
8s.listen(s.port, function () {
9  var serverUri = 'http://localhost:' + s.port
10    , numTests = 0
11    , numOutstandingTests = 0
12
13  function createTest(requestObj, serverAssertFn) {
14    var testNumber = numTests;
15    numTests += 1;
16    numOutstandingTests += 1;
17    s.on('/' + testNumber, function (req, res) {
18      serverAssertFn(req, res);
19      res.writeHead(200);
20      res.end();
21    });
22    requestObj.url = serverUri + '/' + testNumber
23    request(requestObj, function (err, res, body) {
24      assert.ok(!err)
25      assert.equal(res.statusCode, 200)
26      numOutstandingTests -= 1
27      if (numOutstandingTests === 0) {
28        console.log(numTests + ' tests passed.')
29        s.close()
30      }
31    })
32  }
33
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')
38  })
39
40  // Issue #125: headers.cookie + cookie jar
41  var jar = new 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')
46  })
47
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)
51  })
52})
Note: See TracBrowser for help on using the repository browser.