/** * Fetches a page or a single frame if that is the current * focus. * @param SimpleUrl $url Target to fetch. * @param SimpleEncoding $parameters GET/POST parameters. * @return string Raw content of page. * @access private */ protected function load($url, $parameters) { $frame = $url->getTarget(); if (!$frame || !$this->page->hasFrames() || strtolower($frame) == '_top') { return $this->loadPage($url, $parameters); } return $this->loadFrame(array($frame), $url, $parameters); }
function testInterfaceOnEmptyPage() { $page = new SimplePage(); $this->assertEqual($page->getTransportError(), 'No page fetched yet'); $this->assertIdentical($page->getRaw(), false); $this->assertIdentical($page->getHeaders(), false); $this->assertIdentical($page->getMimeType(), false); $this->assertIdentical($page->getResponseCode(), false); $this->assertIdentical($page->getAuthentication(), false); $this->assertIdentical($page->getRealm(), false); $this->assertFalse($page->hasFrames()); $this->assertIdentical($page->getUrls(), array()); $this->assertIdentical($page->getTitle(), false); }
function testNamedFramesInPage() { $response = new MockSimpleHttpResponse(); $response->setReturnValue('getUrl', new SimpleUrl('http://here')); $page = new SimplePage($response); $page->acceptFramesetStart(new SimpleTag('frameset', array())); $page->acceptFrame(new SimpleFrameTag(array('src' => '1.html'))); $page->acceptFrame(new SimpleFrameTag(array('src' => '2.html', 'name' => 'A'))); $page->acceptFrame(new SimpleFrameTag(array('src' => '3.html', 'name' => 'B'))); $page->acceptFrame(new SimpleFrameTag(array('src' => '4.html'))); $page->acceptFramesetEnd(); $this->assertTrue($page->hasFrames()); $this->assertIdentical($page->getFrameset(), array(1 => new SimpleUrl('http://here/1.html'), 'A' => new SimpleUrl('http://here/2.html'), 'B' => new SimpleUrl('http://here/3.html'), 4 => new SimpleUrl('http://here/4.html'))); }