Chris@17
|
1 <?php
|
Chris@17
|
2
|
Chris@17
|
3 class GetAllHeadersTest extends \PHPUnit_Framework_TestCase
|
Chris@17
|
4 {
|
Chris@17
|
5
|
Chris@17
|
6 /**
|
Chris@17
|
7 * @dataProvider testWorksData
|
Chris@17
|
8 */
|
Chris@17
|
9 public function testWorks($test_type, $expected, $server)
|
Chris@17
|
10 {
|
Chris@17
|
11 foreach ($server as $key => $val) {
|
Chris@17
|
12 $_SERVER[$key] = $val;
|
Chris@17
|
13 }
|
Chris@17
|
14 $result = getallheaders();
|
Chris@17
|
15 $this->assertEquals($expected, $result, "Error testing $test_type works.");
|
Chris@17
|
16 }
|
Chris@17
|
17
|
Chris@17
|
18 public function testWorksData()
|
Chris@17
|
19 {
|
Chris@17
|
20 return array(
|
Chris@17
|
21 array(
|
Chris@17
|
22 'normal case',
|
Chris@17
|
23 array(
|
Chris@17
|
24 'Key-One' => 'foo',
|
Chris@17
|
25 'Key-Two' => 'bar',
|
Chris@17
|
26 'Another-Key-For-Testing' => 'baz'
|
Chris@17
|
27 ),
|
Chris@17
|
28 array(
|
Chris@17
|
29 'HTTP_KEY_ONE' => 'foo',
|
Chris@17
|
30 'HTTP_KEY_TWO' => 'bar',
|
Chris@17
|
31 'HTTP_ANOTHER_KEY_FOR_TESTING' => 'baz'
|
Chris@17
|
32 )
|
Chris@17
|
33 ),
|
Chris@17
|
34 array(
|
Chris@17
|
35 'Content-Type',
|
Chris@17
|
36 array(
|
Chris@17
|
37 'Content-Type' => 'two'
|
Chris@17
|
38 ),
|
Chris@17
|
39 array(
|
Chris@17
|
40 'HTTP_CONTENT_TYPE' => 'one',
|
Chris@17
|
41 'CONTENT_TYPE' => 'two'
|
Chris@17
|
42 )
|
Chris@17
|
43 ),
|
Chris@17
|
44 array(
|
Chris@17
|
45 'Content-Length',
|
Chris@17
|
46 array(
|
Chris@17
|
47 'Content-Length' => '222'
|
Chris@17
|
48 ),
|
Chris@17
|
49 array(
|
Chris@17
|
50 'CONTENT_LENGTH' => '222',
|
Chris@17
|
51 'HTTP_CONTENT_LENGTH' => '111'
|
Chris@17
|
52 )
|
Chris@17
|
53 ),
|
Chris@17
|
54 array(
|
Chris@17
|
55 'Content-Length (HTTP_CONTENT_LENGTH only)',
|
Chris@17
|
56 array(
|
Chris@17
|
57 'Content-Length' => '111'
|
Chris@17
|
58 ),
|
Chris@17
|
59 array(
|
Chris@17
|
60 'HTTP_CONTENT_LENGTH' => '111'
|
Chris@17
|
61 )
|
Chris@17
|
62 ),
|
Chris@17
|
63 array(
|
Chris@17
|
64 'Content-MD5',
|
Chris@17
|
65 array(
|
Chris@17
|
66 'Content-Md5' => 'aef123'
|
Chris@17
|
67 ),
|
Chris@17
|
68 array(
|
Chris@17
|
69 'CONTENT_MD5' => 'aef123',
|
Chris@17
|
70 'HTTP_CONTENT_MD5' => 'fea321'
|
Chris@17
|
71 )
|
Chris@17
|
72 ),
|
Chris@17
|
73 array(
|
Chris@17
|
74 'Content-MD5 (HTTP_CONTENT_MD5 only)',
|
Chris@17
|
75 array(
|
Chris@17
|
76 'Content-Md5' => 'f123'
|
Chris@17
|
77 ),
|
Chris@17
|
78 array(
|
Chris@17
|
79 'HTTP_CONTENT_MD5' => 'f123'
|
Chris@17
|
80 )
|
Chris@17
|
81 ),
|
Chris@17
|
82 array(
|
Chris@17
|
83 'Authorization (normal)',
|
Chris@17
|
84 array(
|
Chris@17
|
85 'Authorization' => 'testing'
|
Chris@17
|
86 ),
|
Chris@17
|
87 array(
|
Chris@17
|
88 'HTTP_AUTHORIZATION' => 'testing',
|
Chris@17
|
89 )
|
Chris@17
|
90 ),
|
Chris@17
|
91 array(
|
Chris@17
|
92 'Authorization (redirect)',
|
Chris@17
|
93 array(
|
Chris@17
|
94 'Authorization' => 'testing redirect'
|
Chris@17
|
95 ),
|
Chris@17
|
96 array(
|
Chris@17
|
97 'REDIRECT_HTTP_AUTHORIZATION' => 'testing redirect',
|
Chris@17
|
98 )
|
Chris@17
|
99 ),
|
Chris@17
|
100 array(
|
Chris@17
|
101 'Authorization (PHP_AUTH_USER + PHP_AUTH_PW)',
|
Chris@17
|
102 array(
|
Chris@17
|
103 'Authorization' => 'Basic ' . base64_encode('foo:bar')
|
Chris@17
|
104 ),
|
Chris@17
|
105 array(
|
Chris@17
|
106 'PHP_AUTH_USER' => 'foo',
|
Chris@17
|
107 'PHP_AUTH_PW' => 'bar'
|
Chris@17
|
108 )
|
Chris@17
|
109 ),
|
Chris@17
|
110 array(
|
Chris@17
|
111 'Authorization (PHP_AUTH_DIGEST)',
|
Chris@17
|
112 array(
|
Chris@17
|
113 'Authorization' => 'example-digest'
|
Chris@17
|
114 ),
|
Chris@17
|
115 array(
|
Chris@17
|
116 'PHP_AUTH_DIGEST' => 'example-digest'
|
Chris@17
|
117 )
|
Chris@17
|
118 )
|
Chris@17
|
119 );
|
Chris@17
|
120 }
|
Chris@17
|
121 }
|