This repository has been archived by the owner on May 25, 2022. It is now read-only.
forked from veliovgroup/meteor-cookies
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcookies-tests.js
149 lines (113 loc) · 5.13 KB
/
cookies-tests.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
Meteor.startup(function(){
if(Meteor.isClient){
cookies = new Cookies();
Tinytest.add('From Server to Client', function(test){
test.equal(cookies.get('FORCLIENT'), '_form_server_to_client_tests_');
});
Tinytest.add('cookies: set() / get()', function (test) {
var testVal = 'this is test value';
var setRes = cookies.set('testCookie', testVal);
test.isTrue(setRes);
test.equal(cookies.get('testCookie'), testVal);
});
Tinytest.add('cookies: set() / get() / has() no key', function (test) {
test.isFalse(cookies.set());
test.isNull(cookies.get());
test.isFalse(cookies.has());
});
Tinytest.add('cookies: get() / has() from custom string', function (test) {
var testVal = 'customCookieVal';
var cookie = 'customCookie='+testVal+'; ';
test.equal(cookies.get('customCookie', cookie), testVal);
test.equal(cookies.get('asd', cookie), null);
test.isTrue(cookies.has('customCookie', cookie));
test.isFalse(cookies.has('asd', cookie));
});
Tinytest.add('cookies: remove() non existent cookie', function (test) {
var removeRes = cookies.remove('1234567890asdfghjk');
test.isFalse(removeRes);
});
Tinytest.add('cookies: keys() / has() / remove() some', function (test) {
cookies.remove();
var setResOne = cookies.set('testCookieOne', 'One');
var setResTwo = cookies.set('testCookieTwo', 'Two');
test.equal(cookies.keys(), ['testCookieOne', 'testCookieTwo']);
test.isTrue(cookies.has('testCookieOne'));
test.isTrue(cookies.has('testCookieTwo'));
var removeRes = cookies.remove('testCookieOne');
test.isTrue(removeRes);
test.isFalse(cookies.has('testCookieOne'));
test.isTrue(cookies.has('testCookieTwo'));
});
Tinytest.add('cookies: remove() all', function (test) {
var removeRes = cookies.remove();
test.isTrue(removeRes);
test.equal(cookies.keys(), []);
removeRes = cookies.remove();
test.isFalse(removeRes);
});
Tinytest.add('Server test - see in console', function(test){});
Tinytest.add('From Client to Server', function(test){
cookies.set('FORSERVERTEST', '_form_client_to_server_tests_');
cookies.send()
});
}else{
var tester = function(one, two, testname){
if(EJSON.equals(one, two)){
console.info('['+testname+'] PASSED');
}else{
console.warn('['+testname+'] Failed', 'Expected: ' + JSON.stringify(two), "Got: " + JSON.stringify(one));
}
};
cookie = new Cookies({
auto: false,
handler: function(cookies){
tester(cookies.get('FORSERVERTEST'), '_form_client_to_server_tests_', 'From Client to Server [First Time should FAIL]');
(function(){
var testVal = 'this is test value';
var setRes = cookies.set('testCookie', testVal);
tester(setRes, true, 'cookies.set', cookies);
tester(cookies.get('testCookie'), testVal, 'cookies.get', cookies);
})();
(function(){
tester(cookies.set(), false, 'cookies.set()', cookies);
tester(cookies.get(), null, 'cookies.get()', cookies);
tester(cookies.has(), false, 'cookies.has()', cookies);
})();
(function(){
var testVal = 'customCookieVal';
var cookie = 'customCookie='+testVal+'; ';
tester(cookies.get('customCookie', cookie), testVal, "cookies.get('customCookie')", cookies);
tester(cookies.get('asd', cookie), null, "cookies.get('asd')", cookies);
tester(cookies.has('customCookie', cookie), true, "cookies.has('customCookie')", cookies);
tester(cookies.has('asd', cookie), false, "cookies.has('asd')", cookies);
})();
(function(){
var removeRes = cookies.remove('1234567890asdfghjk');
tester(removeRes, false, "cookies.remove('1234567890asdfghjk')", cookies);
})();
(function(){
cookies.remove();
var setResOne = cookies.set('testCookieOne', 'One');
var setResTwo = cookies.set('testCookieTwo', 'Two');
tester(cookies.keys(), ['testCookieOne', 'testCookieTwo'], "cookies.keys()", cookies);
tester(cookies.has('testCookieOne'), true, "cookies.has('testCookieOne')", cookies);
tester(cookies.has('testCookieTwo'), true, "cookies.has('testCookieTwo')", cookies);
var removeRes = cookies.remove('testCookieOne');
tester(removeRes, true, "cookies.remove('testCookieOne')", cookies);
tester(cookies.has('testCookieOne'), false, "cookies.has('testCookieOne')", cookies);
tester(cookies.has('testCookieTwo'), true, "cookies.has('testCookieTwo')", cookies);
})();
(function(){
var removeRes = cookies.remove();
tester(removeRes, true, "cookies.remove()", cookies);
tester(cookies.keys(), [], "cookies.keys()", cookies);
removeRes = cookies.remove();
tester(removeRes, false, "cookies.remove()", cookies);
})();
cookies.set('FORCLIENT' , '_form_server_to_client_tests_');
}
});
WebApp.connectHandlers.use(cookie.middleware());
}
});