protected $r;
function setUp() {
- $this->r = (new http\Client\Factory)->createClient();
+ $f = new http\Client\Factory;
+ $this->r = $f->createClient();
$this->r->setOptions(
array(
"connecttimeout" => 30,
}
function testObserver() {
+ $test = $this;
$this->r->attach($o1 = new ProgressObserver1);
$this->r->attach($o2 = new ProgressObserver2);
$this->r->attach(
$o3 = new CallbackObserver(
- function ($r) {
+ function ($r) use ($test) {
$p = (array) $r->getProgress();
- $this->assertArrayHasKey("started", $p);
- $this->assertArrayHasKey("finished", $p);
- $this->assertArrayHasKey("dlnow", $p);
- $this->assertArrayHasKey("ulnow", $p);
- $this->assertArrayHasKey("dltotal", $p);
- $this->assertArrayHasKey("ultotal", $p);
- $this->assertArrayHasKey("info", $p);
+ $test->assertArrayHasKey("started", $p);
+ $test->assertArrayHasKey("finished", $p);
+ $test->assertArrayHasKey("dlnow", $p);
+ $test->assertArrayHasKey("ulnow", $p);
+ $test->assertArrayHasKey("dltotal", $p);
+ $test->assertArrayHasKey("ultotal", $p);
+ $test->assertArrayHasKey("info", $p);
}
)
);
$this->assertNotContains("Cookie", (string) $this->r->getRequestMessage());
$this->r->send(null);
$this->assertContains("Cookie", (string) $this->r->getRequestMessage());
- $this->assertCount(2, $this->r->getResponseMessage()->getCookies());
+ $cookies = $this->r->getResponseMessage()->getCookies(0, array("extra"));
+ $this->assertCount(2, $cookies);
+ foreach ($cookies as $cookie) {
+ if ($cookie->getCookie("perm")) {
+ $this->assertTrue(0 < $cookie->getExpires());
+ }
+ if ($cookie->getCookie("temp")) {
+ $this->assertEquals(-1, $cookie->getExpires());
+ }
+ }
+ $this->r->send(new http\Client\Request("GET", "http://dev.iworks.at/ext-http/.cookie1.php"));
+ $cookies = $this->r->getResponseMessage()->getCookies(0, array("bar"));
+ $this->assertCount(1, $cookies);
+ $cookies = $cookies[0];
+ $this->assertEquals(array("bar"=>"foo"), $cookies->getExtras());
+ $this->assertEquals(array("foo"=>"bar"), $cookies->getCookies());
+ $cookies = $this->r->getResponseMessage()->getCookies(0, array("foo"));
+ $this->assertCount(1, $cookies);
+ $cookies = $cookies[0];
+ $this->assertEquals(array("foo"=>"bar","bar"=>"foo"), $cookies->getCookies());
+ $this->assertEquals(array(), $cookies->getExtras());
}
function testResetCookies() {