Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Side by Side Diff: chrome/test/chromedriver/js/add_cookie_test.html

Issue 2898013003: [Chromedriver] Remove obsolete AddCookieScript. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/test/chromedriver/js/add_cookie.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE HTML>
2 <html>
3 <script src='test.js'></script>
4 <script src='add_cookie.js'></script>
5 <script>
6
7 // Run with --enable-file-cookies.
8
9 /**
10 * Return the value of the cookie with the given name.
11 *
12 * If there are two or more cookies with the same name but in different domains
13 * or paths, return the one that appears first in document.cookie.
14 * If there is no such cookie, throw an error.
15 *
16 * @param {!string} name Name of the cookie.
17 * @return {string} The cookie value.
18 */
19 function getCookieValue(name) {
20 var cookies = document.cookie.split(';');
21 for (var i = 0; i < cookies.length; ++i) {
22 var cookie = cookies[i].replace(/^\s+|\s+$/g, '');
23 var cookieName = cookie.substr(0, cookie.indexOf('='));
24 if (cookieName == name)
25 return unescape(cookie.substr(cookie.indexOf('=') + 1));
26 }
27 throw new Error('cookie not found:' + name);
28 }
29
30 /**
31 * Create and return a cookie object. The cookie follows the specification in
32 * https://code.google.com/p/selenium/wiki/JsonWireProtocol#Cookie_JSON_Object.
33 *
34 * The cookie has the following field value:
35 * <ul>
36 * <li>name: 'dummyname' + id
37 * <li>value: 'dummyvalue' + id
38 * <li>path: '/'
39 * <li>domain: document.domain
40 * <li>secure: false
41 * <li>expiry: three days after creation
42 * </ul>
43 *
44 * @param {!number} id The id to append to the name and value of the cookie.
45 * @return {*} An object representing a cookie.
46 */
47 function createDummyCookie(id) {
48 var cookie = {};
49 cookie['name'] = 'dummyname' + id;
50 cookie['value'] = 'dummyvalue' + id;
51 cookie['path'] = '/';
52 cookie['domain'] = document.domain;
53 var expiredDate = new Date();
54 expiredDate.setDate(expiredDate.getDate() + 3);
55 cookie['expiry'] = parseInt(expiredDate.getTime() / 1000);
56 cookie['secure'] = false;
57 return cookie;
58 }
59
60 function assertAddCookieFailed(cookie, code) {
61 try {
62 addCookie(cookie);
63 assert(false);
64 } catch (error) {
65 if (code)
66 assertEquals(code, error.code);
67 }
68 }
69
70 function testMissingName() {
71 var cookie = createDummyCookie(1);
72 delete cookie['name'];
73 assertAddCookieFailed(cookie);
74 }
75
76 function testInvalidName() {
77 var cookie = createDummyCookie(2);
78 var invalidNames = [
79 '', ' a', '\ta', 'a ', 'a\t', 'a;b', 'a=b', 'a\nb', 'a\rb', 'a\0b'
80 ];
81 for (var i = 0; i < invalidNames.length; i++) {
82 cookie['name'] = invalidNames[i];
83 assertAddCookieFailed(cookie);
84 }
85 }
86
87 function testDomainTooManyColons() {
88 var cookie = createDummyCookie(3);
89 cookie['domain'] = 'domain.name:1:2';
90 assertAddCookieFailed(cookie);
91 }
92
93 function testInvalidDomain() {
94 var cookie = createDummyCookie(4);
95 var invalidDomains = [
96 ' a', '\ta', 'a ', 'a\t', 'a\nb', 'a\rb', 'a\0b', 'bad.domain'
97 ];
98 for (var i = 0; i < invalidDomains.length; i++) {
99 cookie['domain'] = invalidDomains[i];
100 assertAddCookieFailed(cookie, 24);
101 }
102 }
103
104 function testMissingPath() {
105 var cookie = createDummyCookie(5);
106 delete cookie['path'];
107 addCookie(cookie);
108 assertEquals(cookie['value'], getCookieValue(cookie['name']));
109 }
110
111 function testMissingDomain() {
112 var cookie = createDummyCookie(6);
113 delete cookie['domain'];
114 addCookie(cookie);
115 assertEquals(cookie['value'], getCookieValue(cookie['name']));
116 }
117
118 function testNormal() {
119 var cookie = createDummyCookie(7);
120 addCookie(cookie);
121 assertEquals(cookie['value'], getCookieValue(cookie['name']));
122 }
123
124 </script>
125 <body>
126 </body>
127 </html>
OLDNEW
« no previous file with comments | « chrome/test/chromedriver/js/add_cookie.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698