22 protected function setUp()
36 $this->assertEquals(self::MAX_HANDLES, $this->readAttribute($m,
'maxHandles'));
42 $this->assertEquals(self::SELECT_TIMEOUT, $this->readAttribute($m,
'selectTimeout'));
47 $r =
new Request(
'GET',
'http://www.foo.com');
48 $this->assertSame($this->multi, $this->multi->add($r));
49 $this->assertEquals(1, count($this->multi));
50 $this->assertEquals(array($r), $this->multi->all());
52 $this->assertTrue($this->multi->remove($r));
53 $this->assertFalse($this->multi->remove($r));
54 $this->assertEquals(0, count($this->multi));
59 $r =
new Request(
'GET',
'http://www.foo.com');
60 $this->multi->add($r);
61 $this->multi->reset();
62 $this->assertEquals(0, count($this->multi));
69 "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n",
70 "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
74 $client->getCurlMulti()->getEventDispatcher()->addListener(
76 function ($e) use (&$events) {
80 $request = $client->get();
81 $request->getEventDispatcher()->addListener(
'request.complete',
function () use ($client) {
82 $client->get(
'/foo')->send();
85 $received = $this->
getServer()->getReceivedRequests(
true);
86 $this->assertEquals(2, count($received));
87 $this->assertEquals($this->
getServer()->getUrl(), $received[0]->getUrl());
88 $this->assertEquals($this->
getServer()->getUrl() .
'foo', $received[1]->getUrl());
89 $this->assertEquals(2, count($events));
96 "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n",
97 "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n",
98 "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n",
99 "HTTP/1.1 307 OK\r\nLocation: /foo\r\nContent-Length: 0\r\n\r\n",
100 "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"
103 $client->setCurlMulti(
new CurlMultiProxy(self::MAX_HANDLES, self::SELECT_TIMEOUT));
104 $request = $client->get();
106 $this->assertEquals(200, $request->getResponse()->getStatusCode());
107 $handles = $this->readAttribute($client->getCurlMulti(),
'handles');
108 $this->assertEquals(2, count($handles));