|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- var server = require('./server')
- , assert = require('assert')
- , request = require('../main.js')
- , Cookie = require('../vendor/cookie')
- , Jar = require('../vendor/cookie/jar')
- , s = server.createServer()
-
- s.listen(s.port, function () {
- var serverUri = 'http://localhost:' + s.port
- , numTests = 0
- , numOutstandingTests = 0
-
- function createTest(requestObj, serverAssertFn) {
- var testNumber = numTests;
- numTests += 1;
- numOutstandingTests += 1;
- s.on('/' + testNumber, function (req, res) {
- serverAssertFn(req, res);
- res.writeHead(200);
- res.end();
- });
- requestObj.url = serverUri + '/' + testNumber
- request(requestObj, function (err, res, body) {
- assert.ok(!err)
- assert.equal(res.statusCode, 200)
- numOutstandingTests -= 1
- if (numOutstandingTests === 0) {
- console.log(numTests + ' tests passed.')
- s.close()
- }
- })
- }
-
- // Issue #125: headers.cookie shouldn't be replaced when a cookie jar isn't specified
- createTest({headers: {cookie: 'foo=bar'}}, function (req, res) {
- assert.ok(req.headers.cookie)
- assert.equal(req.headers.cookie, 'foo=bar')
- })
-
- // Issue #125: headers.cookie + cookie jar
- var jar = new Jar()
- jar.add(new Cookie('quux=baz'));
- createTest({jar: jar, headers: {cookie: 'foo=bar'}}, function (req, res) {
- assert.ok(req.headers.cookie)
- assert.equal(req.headers.cookie, 'foo=bar; quux=baz')
- })
-
- // There should be no cookie header when neither headers.cookie nor a cookie jar is specified
- createTest({}, function (req, res) {
- assert.ok(!req.headers.cookie)
- })
- })
|