@@ -262,6 +262,37 @@ public function testSubmit()
262
262
$ this ->assertEquals ('http://www.example.com/foo ' , $ client ->getRequest ()->getUri (), '->submit() submit forms ' );
263
263
}
264
264
265
+ public function testSubmitPreserveAuth ()
266
+ {
267
+ if (!class_exists ('Symfony\Component\DomCrawler\Crawler ' )) {
268
+ $ this ->markTestSkipped ('The "DomCrawler" component is not available ' );
269
+ }
270
+
271
+ if (!class_exists ('Symfony\Component\CssSelector\CssSelector ' )) {
272
+ $ this ->markTestSkipped ('The "CssSelector" component is not available ' );
273
+ }
274
+
275
+ $ client = new TestClient ();
276
+ $ client ->setNextResponse (new Response ('<html><form action="/foo"><input type="submit" /></form></html> ' ));
277
+ $ crawler = $ client ->request ('GET ' , 'http://www.example.com/foo/foobar ' , array (), array (), array ('PHP_AUTH_USER ' => 'foo ' , 'PHP_AUTH_PW ' => 'bar ' ));
278
+
279
+ $ server = $ client ->getRequest ()->getServer ();
280
+ $ this ->assertArrayHasKey ('PHP_AUTH_USER ' , $ server );
281
+ $ this ->assertEquals ('foo ' , $ server ['PHP_AUTH_USER ' ]);
282
+ $ this ->assertArrayHasKey ('PHP_AUTH_PW ' , $ server );
283
+ $ this ->assertEquals ('bar ' , $ server ['PHP_AUTH_PW ' ]);
284
+
285
+ $ client ->submit ($ crawler ->filter ('input ' )->form ());
286
+
287
+ $ this ->assertEquals ('http://www.example.com/foo ' , $ client ->getRequest ()->getUri (), '->submit() submit forms ' );
288
+
289
+ $ server = $ client ->getRequest ()->getServer ();
290
+ $ this ->assertArrayHasKey ('PHP_AUTH_USER ' , $ server );
291
+ $ this ->assertEquals ('foo ' , $ server ['PHP_AUTH_USER ' ]);
292
+ $ this ->assertArrayHasKey ('PHP_AUTH_PW ' , $ server );
293
+ $ this ->assertEquals ('bar ' , $ server ['PHP_AUTH_PW ' ]);
294
+ }
295
+
265
296
public function testFollowRedirect ()
266
297
{
267
298
$ client = new TestClient ();
0 commit comments