@@ -194,7 +194,7 @@ public function testIsNotModifiedEtag()
194
194
$ etagTwo = 'randomly_generated_etag_2 ' ;
195
195
196
196
$ request = new Request ();
197
- $ request ->headers ->set ('if_none_match ' , sprintf ('%s, %s, %s ' , $ etagOne , $ etagTwo , 'etagThree ' ));
197
+ $ request ->headers ->set ('If-None-Match ' , sprintf ('%s, %s, %s ' , $ etagOne , $ etagTwo , 'etagThree ' ));
198
198
199
199
$ response = new Response ();
200
200
@@ -206,6 +206,38 @@ public function testIsNotModifiedEtag()
206
206
207
207
$ response ->headers ->set ('ETag ' , '' );
208
208
$ this ->assertFalse ($ response ->isNotModified ($ request ));
209
+
210
+ // Test wildcard
211
+ $ request = new Request ();
212
+ $ request ->headers ->set ('If-None-Match ' , '* ' );
213
+
214
+ $ response ->headers ->set ('ETag ' , $ etagOne );
215
+ $ this ->assertTrue ($ response ->isNotModified ($ request ));
216
+ }
217
+
218
+ public function testIsNotModifiedWeakEtag ()
219
+ {
220
+ $ etag = 'randomly_generated_etag ' ;
221
+ $ weakEtag = 'W/randomly_generated_etag ' ;
222
+
223
+ $ request = new Request ();
224
+ $ request ->headers ->set ('If-None-Match ' , $ etag );
225
+ $ response = new Response ();
226
+
227
+ $ response ->headers ->set ('ETag ' , $ etag );
228
+ $ this ->assertTrue ($ response ->isNotModified ($ request ));
229
+
230
+ $ response ->headers ->set ('ETag ' , $ weakEtag );
231
+ $ this ->assertTrue ($ response ->isNotModified ($ request ));
232
+
233
+ $ request ->headers ->set ('If-None-Match ' , $ weakEtag );
234
+ $ response = new Response ();
235
+
236
+ $ response ->headers ->set ('ETag ' , $ etag );
237
+ $ this ->assertTrue ($ response ->isNotModified ($ request ));
238
+
239
+ $ response ->headers ->set ('ETag ' , $ weakEtag );
240
+ $ this ->assertTrue ($ response ->isNotModified ($ request ));
209
241
}
210
242
211
243
public function testIsNotModifiedLastModifiedAndEtag ()
@@ -216,14 +248,14 @@ public function testIsNotModifiedLastModifiedAndEtag()
216
248
$ etag = 'randomly_generated_etag ' ;
217
249
218
250
$ request = new Request ();
219
- $ request ->headers ->set ('if_none_match ' , sprintf ('%s, %s ' , $ etag , 'etagThree ' ));
251
+ $ request ->headers ->set ('If-None-Match ' , sprintf ('%s, %s ' , $ etag , 'etagThree ' ));
220
252
$ request ->headers ->set ('If-Modified-Since ' , $ modified );
221
253
222
254
$ response = new Response ();
223
255
224
256
$ response ->headers ->set ('ETag ' , $ etag );
225
257
$ response ->headers ->set ('Last-Modified ' , $ after );
226
- $ this ->assertFalse ($ response ->isNotModified ($ request ));
258
+ $ this ->assertTrue ($ response ->isNotModified ($ request ));
227
259
228
260
$ response ->headers ->set ('ETag ' , 'non-existent-etag ' );
229
261
$ response ->headers ->set ('Last-Modified ' , $ before );
@@ -240,7 +272,7 @@ public function testIsNotModifiedIfModifiedSinceAndEtagWithoutLastModified()
240
272
$ etag = 'randomly_generated_etag ' ;
241
273
242
274
$ request = new Request ();
243
- $ request ->headers ->set ('if_none_match ' , sprintf ('%s, %s ' , $ etag , 'etagThree ' ));
275
+ $ request ->headers ->set ('If-None-Match ' , sprintf ('%s, %s ' , $ etag , 'etagThree ' ));
244
276
$ request ->headers ->set ('If-Modified-Since ' , $ modified );
245
277
246
278
$ response = new Response ();
0 commit comments