be more verbose about nghttp2 skip
[m6w6/ext-http] / tests / message011.phpt
1 --TEST--
2 message headers
3 --SKIPIF--
4 <?php
5 include "skipif.inc";
6 ?>
7 --INI--
8 date.timezone=UTC
9 --FILE--
10 <?php
11
12 echo "Test\n";
13
14 class strval {
15 private $str;
16 function __construct($str) {
17 $this->str = $str;
18 }
19 function __toString() {
20 return (string) $this->str;
21 }
22 }
23
24 $m = new http\Message;
25 $m->addHeaders(array("foo"=>"bar","bar"=>"foo"));
26 if (array("Foo"=>"bar", "Bar"=>"foo") !== $m->getHeaders()) {
27 var_dump($m->getHeaders());
28 }
29 $m->addHeaders(array("key"=>"val","more"=>"Stuff"));
30 if (array("Foo"=>"bar", "Bar"=>"foo","Key"=>"val","More"=>"Stuff") !== $m->getHeaders()) {
31 var_dump($m->getHeaders());
32 }
33 $m = new http\Message("GET / HTTP/1.1");
34 $m->addHeader("Accept", "text/html");
35 $m->addHeader("Accept", "text/xml;q=0");
36 $m->addHeader("Accept", "text/plain;q=0.5");
37 if (
38 "GET / HTTP/1.1\r\n".
39 "Accept: text/html, text/xml;q=0, text/plain;q=0.5\r\n" !==
40 $m->toString()) {
41 var_dump($m->toString());
42 }
43
44 $m = new http\Message("HTTP/1.1 200 Ok");
45 $m->addHeader("Bool", true);
46 $m->addHeader("Int", 123);
47 $m->addHeader("Float", 1.23);
48 $m->addHeader("Array", array(1,2,3));
49 $m->addHeader("Object", new strval("test"));
50 $m->addHeader("Set-Cookie",
51 new http\Cookie(
52 array(
53 "cookies" => array("foo" => "bar"),
54 "expires" => date_create("2012-12-31 22:59:59 GMT")->format(
55 DateTime::COOKIE
56 ),
57 "path" => "/somewhere"
58 )
59 )
60 );
61 $m->addHeader("Set-Cookie", "val=0");
62
63 if (
64 "HTTP/1.1 200 Ok\r\n".
65 "Bool: true\r\n".
66 "Int: 123\r\n".
67 "Float: 1.23\r\n".
68 "Array: 1, 2, 3\r\n".
69 "Object: test\r\n".
70 "Set-Cookie: foo=bar; path=/somewhere; expires=Mon, 31 Dec 2012 22:59:59 GMT; \r\n".
71 "Set-Cookie: val=0\r\n" !==
72 $m->toString()) {
73 var_dump($m->toString());
74 }
75
76 ?>
77 Done
78 --EXPECT--
79 Test
80 Done