19 $this->events[] = $event;
25 $request->setBody(
'foo');
26 $request->setResponse(
new Response(200));
29 $request->getCurlOptions()->set(
'emit_io',
true);
32 $request->getEventDispatcher()->addListener(
'curl.callback.progress', array($this,
'event'));
33 $request->getEventDispatcher()->addListener(
'curl.callback.read', array($this,
'event'));
34 $request->getEventDispatcher()->addListener(
'curl.callback.write', array($this,
'event'));
38 $mediator->progress(
'a',
'b',
'c',
'd');
39 $this->assertEquals(1, count($this->events));
40 $this->assertEquals(
'curl.callback.progress', $this->events[0]->getName());
42 $this->assertEquals(3, $mediator->writeResponseBody(
'foo',
'bar'));
43 $this->assertEquals(2, count($this->events));
44 $this->assertEquals(
'curl.callback.write', $this->events[1]->getName());
45 $this->assertEquals(
'bar', $this->events[1][
'write']);
46 $this->assertSame($request, $this->events[1][
'request']);
48 $this->assertEquals(
'foo', $mediator->readRequestBody(
'a',
'b', 3));
49 $this->assertEquals(3, count($this->events));
50 $this->assertEquals(
'curl.callback.read', $this->events[2]->getName());
51 $this->assertEquals(
'foo', $this->events[2][
'read']);
52 $this->assertSame($request, $this->events[2][
'request']);
59 "HTTP/1.1 307 Foo\r\nLocation: /foo\r\nContent-Length: 2\r\n\r\nHI",
60 "HTTP/1.1 301 Foo\r\nLocation: /foo\r\nContent-Length: 2\r\n\r\nFI",
61 "HTTP/1.1 200 OK\r\nContent-Length: 4\r\n\r\ntest",
64 $response = $client->get()->send();
65 $this->assertEquals(
'test', $response->getBody(
true));