@@ -146,7 +146,7 @@ public void GetLargeChunkedCookieWithMissingChunk_ThrowingDisabled_NotReassemble
146
146
public void DeleteChunkedCookieWithOptions_AllDeleted ( )
147
147
{
148
148
IOwinContext context = new OwinContext ( ) ;
149
- context . Request . Headers . AppendValues ( "Cookie" , "TestCookie=chunks:7" ) ;
149
+ context . Request . Headers . AppendValues ( "Cookie" , "TestCookie=chunks:7;TestCookieC1=1;TestCookieC2=2;TestCookieC3=3;TestCookieC4=4;TestCookieC5=5;TestCookieC6=6;TestCookieC7=7 " ) ;
150
150
151
151
new ChunkingCookieManager ( ) . DeleteCookie ( context , "TestCookie" , new CookieOptions ( ) { Domain = "foo.com" } ) ;
152
152
var cookies = context . Response . Headers . GetValues ( "Set-Cookie" ) ;
@@ -163,5 +163,38 @@ public void DeleteChunkedCookieWithOptions_AllDeleted()
163
163
"TestCookieC7=; domain=foo.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT" ,
164
164
} , cookies ) ;
165
165
}
166
+
167
+ [ Fact ]
168
+ public void DeleteChunkedCookieWithMissingRequestCookies_OnlyPresentCookiesDeleted ( )
169
+ {
170
+ IOwinContext context = new OwinContext ( ) ;
171
+ context . Request . Headers . Append ( "Cookie" , "TestCookie=chunks:7;TestCookieC1=1;TestCookieC2=2" ) ;
172
+ new ChunkingCookieManager ( ) . DeleteCookie ( context , "TestCookie" , new CookieOptions ( ) { Domain = "foo.com" , Secure = true } ) ;
173
+ var cookies = context . Response . Headers . GetValues ( "Set-Cookie" ) ;
174
+ Assert . Equal ( 3 , cookies . Count ) ;
175
+ Assert . Equal ( new [ ]
176
+ {
177
+ "TestCookie=; domain=foo.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT; secure" ,
178
+ "TestCookieC1=; domain=foo.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT; secure" ,
179
+ "TestCookieC2=; domain=foo.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT; secure" ,
180
+ } , cookies ) ;
181
+ }
182
+
183
+ [ Fact ]
184
+ public void DeleteChunkedCookieWithMissingRequestCookies_StopsAtMissingChunk ( )
185
+ {
186
+ IOwinContext context = new OwinContext ( ) ;
187
+ // C3 is missing so we don't try to delete C4 either.
188
+ context . Request . Headers . Append ( "Cookie" , "TestCookie=chunks:7;TestCookieC1=1;TestCookieC2=2;TestCookieC4=4" ) ;
189
+ new ChunkingCookieManager ( ) . DeleteCookie ( context , "TestCookie" , new CookieOptions ( ) { Domain = "foo.com" , Secure = true } ) ;
190
+ var cookies = context . Response . Headers . GetValues ( "Set-Cookie" ) ;
191
+ Assert . Equal ( 3 , cookies . Count ) ;
192
+ Assert . Equal ( new [ ]
193
+ {
194
+ "TestCookie=; domain=foo.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT; secure" ,
195
+ "TestCookieC1=; domain=foo.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT; secure" ,
196
+ "TestCookieC2=; domain=foo.com; path=/; expires=Thu, 01-Jan-1970 00:00:00 GMT; secure" ,
197
+ } , cookies ) ;
198
+ }
166
199
}
167
200
}
0 commit comments