@@ -69,7 +69,7 @@ test('a cookie should not be present after it is deleted', () => {
6969test ( 'default values when set is called' , ( ) => {
7070 const { cookies, new_cookies } = cookies_setup ( ) ;
7171 cookies . set ( 'a' , 'b' , { path : '/' } ) ;
72- const opts = new_cookies [ 'a' ] ?. options ;
72+ const opts = new_cookies [ '/? a' ] ?. options ;
7373 assert . equal ( opts ?. secure , true ) ;
7474 assert . equal ( opts ?. httpOnly , true ) ;
7575 assert . equal ( opts ?. path , '/' ) ;
@@ -79,7 +79,7 @@ test('default values when set is called', () => {
7979test ( 'default values when set is called on sub path' , ( ) => {
8080 const { cookies, new_cookies } = cookies_setup ( { href : 'https://example.com/foo/bar' } ) ;
8181 cookies . set ( 'a' , 'b' , { path : '' } ) ;
82- const opts = new_cookies [ 'a' ] ?. options ;
82+ const opts = new_cookies [ '/foo/bar? a' ] ?. options ;
8383 assert . equal ( opts ?. secure , true ) ;
8484 assert . equal ( opts ?. httpOnly , true ) ;
8585 assert . equal ( opts ?. path , '/foo/bar' ) ;
@@ -89,14 +89,14 @@ test('default values when set is called on sub path', () => {
8989test ( 'default values when on localhost' , ( ) => {
9090 const { cookies, new_cookies } = cookies_setup ( { href : 'http://localhost:1234' } ) ;
9191 cookies . set ( 'a' , 'b' , { path : '/' } ) ;
92- const opts = new_cookies [ 'a' ] ?. options ;
92+ const opts = new_cookies [ '/? a' ] ?. options ;
9393 assert . equal ( opts ?. secure , false ) ;
9494} ) ;
9595
9696test ( 'overridden defaults when set is called' , ( ) => {
9797 const { cookies, new_cookies } = cookies_setup ( ) ;
9898 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 ;
100100 assert . equal ( opts ?. secure , false ) ;
101101 assert . equal ( opts ?. httpOnly , false ) ;
102102 assert . equal ( opts ?. path , '/a/b/c' ) ;
@@ -106,7 +106,7 @@ test('overridden defaults when set is called', () => {
106106test ( 'default values when delete is called' , ( ) => {
107107 const { cookies, new_cookies } = cookies_setup ( ) ;
108108 cookies . delete ( 'a' , { path : '/' } ) ;
109- const opts = new_cookies [ 'a' ] ?. options ;
109+ const opts = new_cookies [ '/? a' ] ?. options ;
110110 assert . equal ( opts ?. secure , true ) ;
111111 assert . equal ( opts ?. httpOnly , true ) ;
112112 assert . equal ( opts ?. path , '/' ) ;
@@ -117,7 +117,7 @@ test('default values when delete is called', () => {
117117test ( 'overridden defaults when delete is called' , ( ) => {
118118 const { cookies, new_cookies } = cookies_setup ( ) ;
119119 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 ;
121121 assert . equal ( opts ?. secure , false ) ;
122122 assert . equal ( opts ?. httpOnly , false ) ;
123123 assert . equal ( opts ?. path , '/a/b/c' ) ;
@@ -128,15 +128,15 @@ test('overridden defaults when delete is called', () => {
128128test ( 'cannot override maxAge on delete' , ( ) => {
129129 const { cookies, new_cookies } = cookies_setup ( ) ;
130130 cookies . delete ( 'a' , { path : '/' , maxAge : 1234 } ) ;
131- const opts = new_cookies [ 'a' ] ?. options ;
131+ const opts = new_cookies [ '/? a' ] ?. options ;
132132 assert . equal ( opts ?. maxAge , 0 ) ;
133133} ) ;
134134
135135test ( 'last cookie set with the same name wins' , ( ) => {
136136 const { cookies, new_cookies } = cookies_setup ( ) ;
137137 cookies . set ( 'a' , 'foo' , { path : '/' } ) ;
138138 cookies . set ( 'a' , 'bar' , { path : '/' } ) ;
139- const entry = new_cookies [ 'a' ] ;
139+ const entry = new_cookies [ '/? a' ] ;
140140 assert . equal ( entry ?. value , 'bar' ) ;
141141} ) ;
142142
@@ -145,8 +145,8 @@ test('cookie names are case sensitive', () => {
145145 // not that one should do this, but we follow the spec...
146146 cookies . set ( 'a' , 'foo' , { path : '/' } ) ;
147147 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' ] ;
150150 assert . equal ( entrya ?. value , 'foo' ) ;
151151 assert . equal ( entryA ?. value , 'bar' ) ;
152152} ) ;
@@ -211,5 +211,23 @@ test("set_internal isn't affected by defaults", () => {
211211 set_internal ( 'test' , 'foo' , options ) ;
212212
213213 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' ) ;
215233} ) ;
0 commit comments