1
0
Fork 0

Add tests, refs #2017

pull/2175/head
Jordi Boggiano 2013-08-12 00:52:16 +02:00
parent 13c7be2d7e
commit b4c0b18896
2 changed files with 33 additions and 1 deletions

View File

@ -73,7 +73,7 @@ final class StreamContextFactory
}
// add request_fulluri and authentication if we still have a proxy to connect to
if (isset($options['http']['proxy'])) {
if (!empty($options['http']['proxy'])) {
// enabled request_fulluri unless it is explicitly disabled
switch (parse_url($url, PHP_URL_SCHEME)) {
case 'http': // default request_fulluri to true

View File

@ -20,12 +20,14 @@ class StreamContextFactoryTest extends \PHPUnit_Framework_TestCase
{
unset($_SERVER['HTTP_PROXY']);
unset($_SERVER['http_proxy']);
unset($_SERVER['no_proxy']);
}
protected function tearDown()
{
unset($_SERVER['HTTP_PROXY']);
unset($_SERVER['http_proxy']);
unset($_SERVER['no_proxy']);
}
/**
@ -73,6 +75,36 @@ class StreamContextFactoryTest extends \PHPUnit_Framework_TestCase
)), $options);
}
public function testHttpProxyWithNoProxy()
{
$_SERVER['http_proxy'] = 'http://username:password@proxyserver.net:3128/';
$_SERVER['no_proxy'] = 'foo,example.org';
$context = StreamContextFactory::getContext('http://example.org', array('http' => array('method' => 'GET')));
$options = stream_context_get_options($context);
$this->assertEquals(array('http' => array(
'method' => 'GET',
'max_redirects' => 20,
'follow_location' => 1,
)), $options);
}
public function testHttpProxyWithNoProxyWildcard()
{
$_SERVER['http_proxy'] = 'http://username:password@proxyserver.net:3128/';
$_SERVER['no_proxy'] = '*';
$context = StreamContextFactory::getContext('http://example.org', array('http' => array('method' => 'GET')));
$options = stream_context_get_options($context);
$this->assertEquals(array('http' => array(
'method' => 'GET',
'max_redirects' => 20,
'follow_location' => 1,
)), $options);
}
public function testOptionsArePreserved()
{
$_SERVER['http_proxy'] = 'http://username:password@proxyserver.net:3128/';