Tizen 2.0 Release
[platform/framework/web/web-ui-fw.git] / libs / js / jquery-mobile-1.2.0 / node_modules / testswarm / node_modules / request / tests / test-headers.js
1 var server = require('./server')
2   , assert = require('assert')
3   , request = require('../main.js')
4   , Cookie = require('../vendor/cookie')
5   , Jar = require('../vendor/cookie/jar')
6   , s = server.createServer()
7
8 s.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 })