Skip to content
This repository has been archived by the owner on Jan 30, 2020. It is now read-only.

Commit

Permalink
[zendframework/zendframework#2774] Provided unit tests
Browse files Browse the repository at this point in the history
- Tested default argument separator
- Tested that argument separator may be provided
- Provided functional test indicating provided argument separator is
  used
  • Loading branch information
weierophinney committed Nov 9, 2012
1 parent c7efbfa commit f990979
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 11 deletions.
3 changes: 2 additions & 1 deletion src/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -375,9 +375,10 @@ public function setArgSeparator($argSeparator)
*/
public function getArgSeparator()
{
$argSeparator = $this->options['argseparator'];
$argSeparator = $this->config['argseparator'];
if (empty($argSeparator)) {
$argSeparator = ini_get('arg_separator.output');
$this->setArgSeparator($argSeparator);
}
return $argSeparator;
}
Expand Down
42 changes: 32 additions & 10 deletions test/Client/CommonHttpTests.php
Original file line number Diff line number Diff line change
Expand Up @@ -113,20 +113,28 @@ protected function tearDown()
* Simple request tests
*/

public function methodProvider()
{
return array(
array(Request::METHOD_GET),
array(Request::METHOD_POST),
array(Request::METHOD_OPTIONS),
array(Request::METHOD_PUT),
array(Request::METHOD_DELETE),
array(Request::METHOD_PATCH),
);
}

/**
* Test simple requests
*
* @dataProvider methodProvider
*/
public function testSimpleRequests()
public function testSimpleRequests($method)
{
$methods= array(Request::METHOD_GET, Request::METHOD_POST, Request::METHOD_OPTIONS,
Request::METHOD_PUT, Request::METHOD_DELETE, Request::METHOD_PATCH);

foreach ($methods as $method) {
$this->client->setMethod($method);
$res = $this->client->send();
$this->assertTrue($res->isSuccess(), "HTTP {$method} request failed.");
}
$this->client->setMethod($method);
$res = $this->client->send();
$this->assertTrue($res->isSuccess(), "HTTP {$method} request failed.");
}

/**
Expand Down Expand Up @@ -977,6 +985,21 @@ public function testContentTypeAdditionlInfo($params)
$request->getHeaders()->get('Content-Type')->getFieldValue());
}

/**
* @group 2774
* @group 2745
*/
public function testUsesProvidedArgSeparator()
{
$this->client->setArgSeparator(';');
$request = new Request();
$request->setUri('http://framework.zend.com');
$request->setQuery(array('foo' => 'bar', 'baz' => 'bat'));
$this->client->send($request);
$rawRequest = $this->client->getLastRawRequest();
$this->assertContains('?foo=bar;baz=bat', $rawRequest);
}

/**
* Internal helpder function to get the contents of test files
*
Expand Down Expand Up @@ -1045,5 +1068,4 @@ public static function invalidConfigProvider()
array(55)
);
}

}
22 changes: 22 additions & 0 deletions test/ClientTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -79,4 +79,26 @@ public function testIfArrayIteratorOfHeadersCanBeSet()
$cookies = $client->getCookies();
$this->assertEquals(2, count($cookies));
}

/**
* @group 2774
* @group 2745
*/
public function testArgSeparatorDefaultsToIniSetting()
{
$argSeparator = ini_get('arg_separator.output');
$client = new Client();
$this->assertEquals($argSeparator, $client->getArgSeparator());
}

/**
* @group 2774
* @group 2745
*/
public function testCanOverrideArgSeparator()
{
$client = new Client();
$client->setArgSeparator(';');
$this->assertEquals(';', $client->getArgSeparator());
}
}

0 comments on commit f990979

Please sign in to comment.