function testHttp() { $http = new SimpleHttpRequest("www.lastcraft.com/test/network_confirm.php?gkey=gvalue"); $http->setCookie(new SimpleCookie("ckey", "cvalue")); $this->assertIsA($reponse = $http->fetch(), "SimpleHttpResponse"); $this->assertEqual($reponse->getResponseCode(), 200); $this->assertEqual($reponse->getMimeType(), "text/html"); $this->assertWantedPattern('/A target for the SimpleTest test suite/', $reponse->getContent()); $this->assertWantedPattern('/gkey=gvalue/', $reponse->getContent()); $this->assertWantedPattern('/ckey=cvalue/', $reponse->getContent()); }
/** * Adds the current cookies to a request. * @param SimpleHttpRequest $request Request to modify. * @param SimpleUrl $url Cookie selector. * @access private */ function addHeaders(&$request, $url) { $cookies = $this->getValidCookies($url->getHost(), $url->getPath()); foreach ($cookies as $cookie) { $request->setCookie($cookie); } }
/** * Fetches a URL performing the standard tests. * @param $url Target to fetch as string. * @param $request Test version of SimpleHttpRequest. * @return Content of page. * @access public */ function fetchUrl($url, $request = false) { if (!is_object($request)) { $request = new SimpleHttpRequest($url); } foreach ($this->_cookie_jar->getValidCookies() as $cookie) { $request->setCookie($cookie); } $this->_response = $request->fetch(); $this->_checkExpectations($url, $this->_response); foreach ($this->_response->getNewCookies() as $cookie) { $parsed_url = new SimpleUrl($url); if ($parsed_url->getHost()) { $cookie->setHost($parsed_url->getHost()); } $this->_cookie_jar->setCookie($cookie); } return $this->_response->getContent(); }
function testMultipleCookieWriting() { $request = new SimpleHttpRequest("a.valid.host/and/path"); $request->setCookie(new SimpleCookie("a", "A")); $request->setCookie(new SimpleCookie("b", "B")); $socket =& new MockSimpleSocket($this); $socket->setReturnValue("isError", false); $socket->expectArgumentsSequence(2, "write", array("Cookie: a=A;b=B\r\n")); $request->fetch($socket); $socket->tally(); }