@@ -279,6 +279,19 @@ public function testClick()
279279 $ this ->assertSame ('http://www.example.com/foo ' , $ client ->getRequest ()->getUri (), '->click() clicks on links ' );
280280 }
281281
282+ public function testClickPreserveHeaders ()
283+ {
284+ $ client = $ this ->getBrowser ();
285+ $ client ->setNextResponse (new Response ('<html><a href="/foo">foo</a></html> ' ));
286+ $ crawler = $ client ->request ('GET ' , 'http://www.example.com/foo/foobar ' );
287+
288+ $ client ->click ($ crawler ->filter ('a ' )->link (), ['X-Special-Header ' => 'Special Header Value ' ]);
289+
290+ $ server = $ client ->getRequest ()->getServer ();
291+ $ this ->assertArrayHasKey ('X-Special-Header ' , $ server );
292+ $ this ->assertSame ('Special Header Value ' , $ server ['X-Special-Header ' ]);
293+ }
294+
282295 public function testClickLink ()
283296 {
284297 $ client = $ this ->getBrowser ();
@@ -299,6 +312,18 @@ public function testClickLinkNotFound()
299312 $ client ->clickLink ('foo ' );
300313 }
301314
315+ public function testClickLinkPreserveHeaders ()
316+ {
317+ $ client = $ this ->getBrowser ();
318+ $ client ->setNextResponse (new Response ('<html><a href="/foo">foo</a></html> ' ));
319+ $ client ->request ('GET ' , 'http://www.example.com/foo/foobar ' );
320+ $ client ->clickLink ('foo ' , ['X-Special-Header ' => 'Special Header Value ' ]);
321+
322+ $ server = $ client ->getRequest ()->getServer ();
323+ $ this ->assertArrayHasKey ('X-Special-Header ' , $ server );
324+ $ this ->assertSame ('Special Header Value ' , $ server ['X-Special-Header ' ]);
325+ }
326+
302327 public function testClickForm ()
303328 {
304329 $ client = $ this ->getBrowser ();
@@ -310,6 +335,19 @@ public function testClickForm()
310335 $ this ->assertSame ('http://www.example.com/foo ' , $ client ->getRequest ()->getUri (), '->click() Form submit forms ' );
311336 }
312337
338+ public function testClickFormPreserveHeaders ()
339+ {
340+ $ client = $ this ->getBrowser ();
341+ $ client ->setNextResponse (new Response ('<html><form action="/foo"><input type="submit" /></form></html> ' ));
342+ $ crawler = $ client ->request ('GET ' , 'http://www.example.com/foo/foobar ' );
343+
344+ $ client ->click ($ crawler ->filter ('input ' )->form (), ['X-Special-Header ' => 'Special Header Value ' ]);
345+
346+ $ server = $ client ->getRequest ()->getServer ();
347+ $ this ->assertArrayHasKey ('X-Special-Header ' , $ server );
348+ $ this ->assertSame ('Special Header Value ' , $ server ['X-Special-Header ' ]);
349+ }
350+
313351 public function testSubmit ()
314352 {
315353 $ client = $ this ->getBrowser ();
0 commit comments