feature: transform both switchToXHR and removeXhr to a xhrRequest

This commit is contained in:
Amrouche Hamza 2018-03-02 18:44:26 +01:00
parent 6059bdc80e
commit 4ed08896fa
No known key found for this signature in database
GPG Key ID: 6968F2785ED4F012
2 changed files with 8 additions and 9 deletions

View File

@ -151,14 +151,15 @@ abstract class Client
return isset($this->server[$key]) ? $this->server[$key] : $default; return isset($this->server[$key]) ? $this->server[$key] : $default;
} }
public function switchToXHR() public function xmlHttpRequest(string $method, string $uri, array $parameters = array(), array $files = array(), array $server = array(), string $content = null, bool $changeHistory = true): Crawler
{ {
$this->setServerParameter('HTTP_X_REQUESTED_WITH', 'XMLHttpRequest'); $this->setServerParameter('HTTP_X_REQUESTED_WITH', 'XMLHttpRequest');
}
public function removeXHR() try {
{ return $this->request($method, $uri, $parameters, $files, $server, $content, $changeHistory);
unset($this->server['HTTP_X_REQUESTED_WITH']); } finally {
unset($this->server['HTTP_X_REQUESTED_WITH']);
}
} }
/** /**

View File

@ -104,13 +104,11 @@ class ClientTest extends TestCase
$this->assertNull($client->getRequest()); $this->assertNull($client->getRequest());
} }
public function testGetRequestWithXHR() public function testXmlHttpRequest()
{ {
$client = new TestClient(); $client = new TestClient();
$client->switchToXHR(); $client->xmlHttpRequest('GET', 'http://example.com/', array(), array(), array(), null, true);
$client->request('GET', 'http://example.com/', array(), array(), array(), null, true, true);
$this->assertEquals($client->getRequest()->getServer()['HTTP_X_REQUESTED_WITH'], 'XMLHttpRequest'); $this->assertEquals($client->getRequest()->getServer()['HTTP_X_REQUESTED_WITH'], 'XMLHttpRequest');
$client->removeXHR();
$this->assertFalse($client->getServerParameter('HTTP_X_REQUESTED_WITH', false)); $this->assertFalse($client->getServerParameter('HTTP_X_REQUESTED_WITH', false));
} }