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