@@ -69,7 +69,7 @@ test('a cookie should not be present after it is deleted', () => {
69
69
test ( 'default values when set is called' , ( ) => {
70
70
const { cookies, new_cookies } = cookies_setup ( ) ;
71
71
cookies . set ( 'a' , 'b' , { path : '/' } ) ;
72
- const opts = new_cookies [ 'a' ] ?. options ;
72
+ const opts = new_cookies [ '/? a' ] ?. options ;
73
73
assert . equal ( opts ?. secure , true ) ;
74
74
assert . equal ( opts ?. httpOnly , true ) ;
75
75
assert . equal ( opts ?. path , '/' ) ;
@@ -79,7 +79,7 @@ test('default values when set is called', () => {
79
79
test ( 'default values when set is called on sub path' , ( ) => {
80
80
const { cookies, new_cookies } = cookies_setup ( { href : 'https://example.com/foo/bar' } ) ;
81
81
cookies . set ( 'a' , 'b' , { path : '' } ) ;
82
- const opts = new_cookies [ 'a' ] ?. options ;
82
+ const opts = new_cookies [ '/foo/bar? a' ] ?. options ;
83
83
assert . equal ( opts ?. secure , true ) ;
84
84
assert . equal ( opts ?. httpOnly , true ) ;
85
85
assert . equal ( opts ?. path , '/foo/bar' ) ;
@@ -89,14 +89,14 @@ test('default values when set is called on sub path', () => {
89
89
test ( 'default values when on localhost' , ( ) => {
90
90
const { cookies, new_cookies } = cookies_setup ( { href : 'http://localhost:1234' } ) ;
91
91
cookies . set ( 'a' , 'b' , { path : '/' } ) ;
92
- const opts = new_cookies [ 'a' ] ?. options ;
92
+ const opts = new_cookies [ '/? a' ] ?. options ;
93
93
assert . equal ( opts ?. secure , false ) ;
94
94
} ) ;
95
95
96
96
test ( 'overridden defaults when set is called' , ( ) => {
97
97
const { cookies, new_cookies } = cookies_setup ( ) ;
98
98
cookies . set ( 'a' , 'b' , { secure : false , httpOnly : false , sameSite : 'strict' , path : '/a/b/c' } ) ;
99
- const opts = new_cookies [ 'a' ] ?. options ;
99
+ const opts = new_cookies [ '/a/b/c? a' ] ?. options ;
100
100
assert . equal ( opts ?. secure , false ) ;
101
101
assert . equal ( opts ?. httpOnly , false ) ;
102
102
assert . equal ( opts ?. path , '/a/b/c' ) ;
@@ -106,7 +106,7 @@ test('overridden defaults when set is called', () => {
106
106
test ( 'default values when delete is called' , ( ) => {
107
107
const { cookies, new_cookies } = cookies_setup ( ) ;
108
108
cookies . delete ( 'a' , { path : '/' } ) ;
109
- const opts = new_cookies [ 'a' ] ?. options ;
109
+ const opts = new_cookies [ '/? a' ] ?. options ;
110
110
assert . equal ( opts ?. secure , true ) ;
111
111
assert . equal ( opts ?. httpOnly , true ) ;
112
112
assert . equal ( opts ?. path , '/' ) ;
@@ -117,7 +117,7 @@ test('default values when delete is called', () => {
117
117
test ( 'overridden defaults when delete is called' , ( ) => {
118
118
const { cookies, new_cookies } = cookies_setup ( ) ;
119
119
cookies . delete ( 'a' , { secure : false , httpOnly : false , sameSite : 'strict' , path : '/a/b/c' } ) ;
120
- const opts = new_cookies [ 'a' ] ?. options ;
120
+ const opts = new_cookies [ '/a/b/c? a' ] ?. options ;
121
121
assert . equal ( opts ?. secure , false ) ;
122
122
assert . equal ( opts ?. httpOnly , false ) ;
123
123
assert . equal ( opts ?. path , '/a/b/c' ) ;
@@ -128,15 +128,15 @@ test('overridden defaults when delete is called', () => {
128
128
test ( 'cannot override maxAge on delete' , ( ) => {
129
129
const { cookies, new_cookies } = cookies_setup ( ) ;
130
130
cookies . delete ( 'a' , { path : '/' , maxAge : 1234 } ) ;
131
- const opts = new_cookies [ 'a' ] ?. options ;
131
+ const opts = new_cookies [ '/? a' ] ?. options ;
132
132
assert . equal ( opts ?. maxAge , 0 ) ;
133
133
} ) ;
134
134
135
135
test ( 'last cookie set with the same name wins' , ( ) => {
136
136
const { cookies, new_cookies } = cookies_setup ( ) ;
137
137
cookies . set ( 'a' , 'foo' , { path : '/' } ) ;
138
138
cookies . set ( 'a' , 'bar' , { path : '/' } ) ;
139
- const entry = new_cookies [ 'a' ] ;
139
+ const entry = new_cookies [ '/? a' ] ;
140
140
assert . equal ( entry ?. value , 'bar' ) ;
141
141
} ) ;
142
142
@@ -145,8 +145,8 @@ test('cookie names are case sensitive', () => {
145
145
// not that one should do this, but we follow the spec...
146
146
cookies . set ( 'a' , 'foo' , { path : '/' } ) ;
147
147
cookies . set ( 'A' , 'bar' , { path : '/' } ) ;
148
- const entrya = new_cookies [ 'a' ] ;
149
- const entryA = new_cookies [ 'A' ] ;
148
+ const entrya = new_cookies [ '/? a' ] ;
149
+ const entryA = new_cookies [ '/? A' ] ;
150
150
assert . equal ( entrya ?. value , 'foo' ) ;
151
151
assert . equal ( entryA ?. value , 'bar' ) ;
152
152
} ) ;
@@ -211,5 +211,23 @@ test("set_internal isn't affected by defaults", () => {
211
211
set_internal ( 'test' , 'foo' , options ) ;
212
212
213
213
expect ( cookies . get ( 'test' ) ) . toEqual ( 'foo' ) ;
214
- expect ( new_cookies [ 'test' ] ?. options ) . toEqual ( options ) ;
214
+ expect ( new_cookies [ '/a/b/c?test' ] ?. options ) . toEqual ( options ) ;
215
+ } ) ;
216
+
217
+ test ( 'set same name in different path' , ( ) => {
218
+ const { cookies, new_cookies } = cookies_setup ( ) ;
219
+
220
+ cookies . set ( 'a' , '1' , { path : '/foo' } ) ;
221
+ cookies . set ( 'a' , '2' , { path : '/bar' } ) ;
222
+ expect ( new_cookies [ '/bar?a' ] . name ) . toEqual ( 'a' ) ;
223
+ expect ( new_cookies [ '/bar?a' ] . value ) . toEqual ( '2' ) ;
224
+ expect ( new_cookies [ '/foo?a' ] . name ) . toEqual ( 'a' ) ;
225
+ expect ( new_cookies [ '/foo?a' ] . value ) . toEqual ( '1' ) ;
226
+ } ) ;
227
+
228
+ test ( 'set cookie to specific domain and path' , ( ) => {
229
+ const { cookies } = cookies_setup ( ) ;
230
+
231
+ cookies . set ( 'a' , 'b' , { path : '/a/b/c' , domain : 'test.com' } ) ;
232
+ expect ( cookies . get ( 'a' , undefined , { domain : 'test.com' , path : '/a/b/c' } ) ) . toEqual ( 'b' ) ;
215
233
} ) ;
0 commit comments