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'
 | |
|                 )
 | |
|             )
 | |
|         );
 | |
|     }
 | |
| }
 | 
