prepare v4.2.5
[m6w6/ext-http] / tests / client002.phpt
1 --TEST--
2 client observer
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 class Observer implements SplObserver
16 {
17 #[ReturnTypeWillChange]
18 function update(SplSubject $client, http\Client\Request $request = null, StdClass $progress = null) {
19 echo "P";
20 /* fence against buggy infof() calls in some curl versions */
21 $compare = $client->getProgressInfo($request);
22 if ($progress->info !== "prepare" && $compare && $compare != $progress) {
23 var_dump($progress, $compare);
24 }
25 }
26 }
27
28 server("proxy.inc", function($port, $stdin, $stdout, $stderr) {
29 foreach (http\Client::getAvailableDrivers() as $driver) {
30 $client = new http\Client($driver);
31 $client->attach(new Observer);
32 $client->enqueue(new http\Client\Request("GET", "http://localhost:$port/"));
33 $client->send();
34 }
35 });
36
37 ?>
38
39 Done
40 --EXPECTREGEX--
41 Test
42 P+
43 Done