You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
3.5 KiB
PHP
122 lines
3.5 KiB
PHP
<?php
|
|
|
|
class GetAllHeadersTest extends \PHPUnit_Framework_TestCase
|
|
{
|
|
|
|
/**
|
|
* @dataProvider testWorksData
|
|
*/
|
|
public function testWorks($test_type, $expected, $server)
|
|
{
|
|
foreach ($server as $key => $val) {
|
|
$_SERVER[$key] = $val;
|
|
}
|
|
$result = getallheaders();
|
|
$this->assertEquals($expected, $result, "Error testing $test_type works.");
|
|
}
|
|
|
|
public function testWorksData()
|
|
{
|
|
return array(
|
|
array(
|
|
'normal case',
|
|
array(
|
|
'Key-One' => 'foo',
|
|
'Key-Two' => 'bar',
|
|
'Another-Key-For-Testing' => 'baz'
|
|
),
|
|
array(
|
|
'HTTP_KEY_ONE' => 'foo',
|
|
'HTTP_KEY_TWO' => 'bar',
|
|
'HTTP_ANOTHER_KEY_FOR_TESTING' => 'baz'
|
|
)
|
|
),
|
|
array(
|
|
'Content-Type',
|
|
array(
|
|
'Content-Type' => 'two'
|
|
),
|
|
array(
|
|
'HTTP_CONTENT_TYPE' => 'one',
|
|
'CONTENT_TYPE' => 'two'
|
|
)
|
|
),
|
|
array(
|
|
'Content-Length',
|
|
array(
|
|
'Content-Length' => '222'
|
|
),
|
|
array(
|
|
'CONTENT_LENGTH' => '222',
|
|
'HTTP_CONTENT_LENGTH' => '111'
|
|
)
|
|
),
|
|
array(
|
|
'Content-Length (HTTP_CONTENT_LENGTH only)',
|
|
array(
|
|
'Content-Length' => '111'
|
|
),
|
|
array(
|
|
'HTTP_CONTENT_LENGTH' => '111'
|
|
)
|
|
),
|
|
array(
|
|
'Content-MD5',
|
|
array(
|
|
'Content-Md5' => 'aef123'
|
|
),
|
|
array(
|
|
'CONTENT_MD5' => 'aef123',
|
|
'HTTP_CONTENT_MD5' => 'fea321'
|
|
)
|
|
),
|
|
array(
|
|
'Content-MD5 (HTTP_CONTENT_MD5 only)',
|
|
array(
|
|
'Content-Md5' => 'f123'
|
|
),
|
|
array(
|
|
'HTTP_CONTENT_MD5' => 'f123'
|
|
)
|
|
),
|
|
array(
|
|
'Authorization (normal)',
|
|
array(
|
|
'Authorization' => 'testing'
|
|
),
|
|
array(
|
|
'HTTP_AUTHORIZATION' => 'testing',
|
|
)
|
|
),
|
|
array(
|
|
'Authorization (redirect)',
|
|
array(
|
|
'Authorization' => 'testing redirect'
|
|
),
|
|
array(
|
|
'REDIRECT_HTTP_AUTHORIZATION' => 'testing redirect',
|
|
)
|
|
),
|
|
array(
|
|
'Authorization (PHP_AUTH_USER + PHP_AUTH_PW)',
|
|
array(
|
|
'Authorization' => 'Basic ' . base64_encode('foo:bar')
|
|
),
|
|
array(
|
|
'PHP_AUTH_USER' => 'foo',
|
|
'PHP_AUTH_PW' => 'bar'
|
|
)
|
|
),
|
|
array(
|
|
'Authorization (PHP_AUTH_DIGEST)',
|
|
array(
|
|
'Authorization' => 'example-digest'
|
|
),
|
|
array(
|
|
'PHP_AUTH_DIGEST' => 'example-digest'
|
|
)
|
|
)
|
|
);
|
|
}
|
|
}
|