followup on #44
[m6w6/ext-http] / tests / client021.phpt
1 --TEST--
2 client cookies
3 --SKIPIF--
4 <?php
5 include "skipif.inc";
6 skip_client_test();
7 ?>
8 --FILE--
9 <?php
10
11 include "helper/server.inc";
12
13 echo "Test\n";
14
15 function dump($f) {
16 return;
17 readfile($f);
18 }
19
20 function cookies($client) {
21 foreach ($client->getResponse()->getCookies() as $cookie) {
22 echo trim($cookie), "\n";
23 }
24 }
25
26 $tmpfile = tempnam(sys_get_temp_dir(), "cookie.");
27 $request = new http\Client\Request("GET", "http://localhost");
28
29 server("cookie.inc", function($port) use($request, $tmpfile) {
30 $request->setOptions(array("port" => $port));
31 $client = new http\Client;
32 cookies($client->requeue($request)->send());
33 dump($tmpfile);
34 });
35 server("cookie.inc", function($port) use($request, $tmpfile) {
36 $request->setOptions(array("port" => $port));
37 $client = new http\Client;
38 cookies($client->requeue($request)->send());
39 dump($tmpfile);
40 });
41 server("cookie.inc", function($port) use($request, $tmpfile) {
42 $request->setOptions(array("port" => $port));
43 $client = new http\Client;
44 cookies($client->requeue($request)->send());
45 dump($tmpfile);
46 });
47
48 server("cookie.inc", function($port) use($request, $tmpfile) {
49 $request->setOptions(array("port" => $port));
50 $client = new http\Client("curl", "test");
51 cookies($client->requeue($request)->send());
52 dump($tmpfile);
53 });
54 server("cookie.inc", function($port) use($request, $tmpfile) {
55 $request->setOptions(array("port" => $port));
56 $client = new http\Client("curl", "test");
57 cookies($client->requeue($request)->send());
58 dump($tmpfile);
59 });
60 server("cookie.inc", function($port) use($request, $tmpfile) {
61 $request->setOptions(array("port" => $port));
62 $client = new http\Client("curl", "test");
63 cookies($client->requeue($request)->send());
64 dump($tmpfile);
65 });
66
67 $request->setOptions(array("cookiestore" => $tmpfile));
68
69 server("cookie.inc", function($port) use($request, $tmpfile) {
70 $request->setOptions(array("port" => $port));
71 $client = new http\Client;
72 cookies($client->requeue($request)->send());
73 dump($tmpfile);
74 cookies($client->requeue($request)->send());
75 dump($tmpfile);
76 cookies($client->requeue($request)->send());
77 dump($tmpfile);
78 });
79 server("cookie.inc", function($port) use($request, $tmpfile) {
80 $request->setOptions(array("port" => $port));
81 $client = new http\Client;
82 cookies($client->requeue($request)->send());
83 dump($tmpfile);
84 cookies($client->requeue($request)->send());
85 dump($tmpfile);
86 cookies($client->requeue($request)->send());
87 dump($tmpfile);
88 });
89
90 server("cookie.inc", function($port) use($request, $tmpfile) {
91 $request->setOptions(array("port" => $port, "cookiesession" => true));
92 $client = new http\Client;
93 cookies($client->requeue($request)->send());
94 dump($tmpfile);
95 cookies($client->requeue($request)->send());
96 dump($tmpfile);
97 cookies($client->requeue($request)->send());
98 dump($tmpfile);
99 });
100
101 server("cookie.inc", function($port) use($request, $tmpfile) {
102 $request->setOptions(array("port" => $port, "cookiesession" => false));
103 $client = new http\Client;
104 cookies($client->requeue($request)->send());
105 dump($tmpfile);
106 cookies($client->requeue($request)->send());
107 dump($tmpfile);
108 cookies($client->requeue($request)->send());
109 dump($tmpfile);
110 });
111
112
113 (new http\Client("curl", "test"))->configure(["share_cookies" => false]);
114 $request->setOptions(["cookiestore" => null]);
115
116 server("cookie.inc", function($port) use($request, $tmpfile) {
117 $request->setOptions(array("port" => $port));
118 $client = new http\Client("curl", "test");
119 cookies($client->requeue($request)->send());
120 dump($tmpfile);
121 });
122 server("cookie.inc", function($port) use($request, $tmpfile) {
123 $request->setOptions(array("port" => $port));
124 $client = new http\Client("curl", "test");
125 cookies($client->requeue($request)->send());
126 dump($tmpfile);
127 });
128 server("cookie.inc", function($port) use($request, $tmpfile) {
129 $request->setOptions(array("port" => $port));
130 $client = new http\Client("curl", "test");
131 cookies($client->requeue($request)->send());
132 dump($tmpfile);
133 });
134
135
136 unlink($tmpfile);
137
138 ?>
139 ===DONE===
140 --EXPECT--
141 Test
142 counter=1;
143 counter=1;
144 counter=1;
145 counter=1;
146 counter=2;
147 counter=3;
148 counter=1;
149 counter=2;
150 counter=3;
151 counter=4;
152 counter=5;
153 counter=6;
154 counter=1;
155 counter=1;
156 counter=1;
157 counter=2;
158 counter=3;
159 counter=4;
160 counter=1;
161 counter=1;
162 counter=1;
163 ===DONE===