public function testOnlyGettingFieldFromFocusedFrame() { $frame1 = new MockSimplePage(); $frame1->returnsByValue('getField', 'f', array(new SelectByName('a'))); $frame2 = new MockSimplePage(); $frame2->expectNever('getField'); $frameset = new SimpleFrameset(new MockSimplePage()); $frameset->addFrame($frame1, 'A'); $frameset->addFrame($frame2, 'B'); $frameset->setFrameFocus('A'); $this->assertIdentical($frameset->getField(new SelectByName('a')), 'f'); }
/** * Parses the raw content into a page. Will load further * frame pages unless frames are disabled. * @param SimpleHttpResponse $response Response from fetch. * @param integer $depth Nested frameset depth. * @return SimplePage Parsed HTML. * @access private */ function &_parse($response, $depth = 0) { $page = &$this->_buildPage($response); if ($this->_ignore_frames || ! $page->hasFrames() || ($depth > $this->_maximum_nested_frames)) { return $page; } $frameset = new SimpleFrameset($page); foreach ($page->getFrameset() as $key => $url) { $frame = &$this->_fetch($url, new SimpleGetEncoding(), $depth + 1); $frameset->addFrame($frame, $key); } return $frameset; }