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-cookiejar.js
1 var Cookie = require('../vendor/cookie')
2   , Jar = require('../vendor/cookie/jar')
3   , assert = require('assert');
4
5 function expires(ms) {
6   return new Date(Date.now() + ms).toUTCString();
7 }
8
9 // test .get() expiration
10 (function() {
11   var jar = new Jar;
12   var cookie = new Cookie('sid=1234; path=/; expires=' + expires(1000));
13   jar.add(cookie);
14   setTimeout(function(){
15     var cookies = jar.get({ url: 'http://foo.com/foo' });
16     assert.equal(cookies.length, 1);
17     assert.equal(cookies[0], cookie);
18     setTimeout(function(){
19       var cookies = jar.get({ url: 'http://foo.com/foo' });
20       assert.equal(cookies.length, 0);
21     }, 1000);
22   }, 5);
23 })();
24
25 // test .get() path support
26 (function() {
27   var jar = new Jar;
28   var a = new Cookie('sid=1234; path=/');
29   var b = new Cookie('sid=1111; path=/foo/bar');
30   var c = new Cookie('sid=2222; path=/');
31   jar.add(a);
32   jar.add(b);
33   jar.add(c);
34
35   // should remove the duplicates
36   assert.equal(jar.cookies.length, 2);
37
38   // same name, same path, latter prevails
39   var cookies = jar.get({ url: 'http://foo.com/' });
40   assert.equal(cookies.length, 1);
41   assert.equal(cookies[0], c);
42
43   // same name, diff path, path specifity prevails, latter prevails
44   var cookies = jar.get({ url: 'http://foo.com/foo/bar' });
45   assert.equal(cookies.length, 1);
46   assert.equal(cookies[0], b);
47
48   var jar = new Jar;
49   var a = new Cookie('sid=1111; path=/foo/bar');
50   var b = new Cookie('sid=1234; path=/');
51   jar.add(a);
52   jar.add(b);
53
54   var cookies = jar.get({ url: 'http://foo.com/foo/bar' });
55   assert.equal(cookies.length, 1);
56   assert.equal(cookies[0], a);
57
58   var cookies = jar.get({ url: 'http://foo.com/' });
59   assert.equal(cookies.length, 1);
60   assert.equal(cookies[0], b);
61
62   var jar = new Jar;
63   var a = new Cookie('sid=1111; path=/foo/bar');
64   var b = new Cookie('sid=3333; path=/foo/bar');
65   var c = new Cookie('pid=3333; path=/foo/bar');
66   var d = new Cookie('sid=2222; path=/foo/');
67   var e = new Cookie('sid=1234; path=/');
68   jar.add(a);
69   jar.add(b);
70   jar.add(c);
71   jar.add(d);
72   jar.add(e);
73
74   var cookies = jar.get({ url: 'http://foo.com/foo/bar' });
75   assert.equal(cookies.length, 2);
76   assert.equal(cookies[0], b);
77   assert.equal(cookies[1], c);
78
79   var cookies = jar.get({ url: 'http://foo.com/foo/' });
80   assert.equal(cookies.length, 1);
81   assert.equal(cookies[0], d);
82
83   var cookies = jar.get({ url: 'http://foo.com/' });
84   assert.equal(cookies.length, 1);
85   assert.equal(cookies[0], e);
86 })();
87
88 setTimeout(function() {
89   console.log('All tests passed');
90 }, 1200);