browser_test.php.svn-base
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 779 行 · 第 1/3 页
SVN-BASE
779 行
function testClickLinkWithUnknownFrameStillRequestsWholePage() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $agent->expectArgumentsAt( 0, 'fetchResponse', array(new SimpleUrl('http://this.com/page.html'), new SimpleGetEncoding())); $target = new SimpleUrl('http://this.com/new.html'); $target->setTarget('missing'); $agent->expectArgumentsAt( 1, 'fetchResponse', array($target, new SimpleGetEncoding())); $agent->expectCallCount('fetchResponse', 2); $parsed_url = new SimpleUrl('http://this.com/new.html'); $parsed_url->setTarget('missing'); $page = &new MockSimplePage(); $page->setReturnValue('getUrlsByLabel', array($parsed_url)); $page->setReturnValue('hasFrames', false); $page->expectOnce('getUrlsByLabel', array('New')); $page->setReturnValue('getRaw', 'A page'); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->clickLink('New')); } function testClickingMissingLinkFails() { $agent = &new MockSimpleUserAgent($this); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $page = &new MockSimplePage(); $page->setReturnValue('getUrlsByLabel', array()); $page->setReturnValue('getRaw', 'stuff'); $browser = &$this->createBrowser($agent, $page); $this->assertTrue($browser->get('http://this.com/page.html')); $this->assertFalse($browser->clickLink('New')); } function testClickIndexedLink() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $agent->expectArgumentsAt( 1, 'fetchResponse', array(new SimpleUrl('1.html'), new SimpleGetEncoding())); $agent->expectCallCount('fetchResponse', 2); $page = &new MockSimplePage(); $page->setReturnValue( 'getUrlsByLabel', array(new SimpleUrl('0.html'), new SimpleUrl('1.html'))); $page->setReturnValue('getRaw', 'A page'); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->clickLink('New', 1)); } function testClinkLinkById() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $agent->expectArgumentsAt(1, 'fetchResponse', array( new SimpleUrl('http://this.com/link.html'), new SimpleGetEncoding())); $agent->expectCallCount('fetchResponse', 2); $page = &new MockSimplePage(); $page->setReturnValue('getUrlById', new SimpleUrl('http://this.com/link.html')); $page->expectOnce('getUrlById', array(2)); $page->setReturnValue('getRaw', 'A page'); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->clickLinkById(2)); } function testClickingMissingLinkIdFails() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $page = &new MockSimplePage(); $page->setReturnValue('getUrlById', false); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertFalse($browser->clickLink(0)); } function testSubmitFormByLabel() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $agent->expectArgumentsAt(1, 'fetchResponse', array( new SimpleUrl('http://this.com/handler.html'), new SimplePostEncoding(array('a' => 'A')))); $agent->expectCallCount('fetchResponse', 2); $form = &new MockSimpleForm(); $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); $form->setReturnValue('getMethod', 'post'); $form->setReturnValue('submitButton', new SimplePostEncoding(array('a' => 'A'))); $form->expectOnce('submitButton', array(new SimpleByLabel('Go'), false)); $page = &new MockSimplePage(); $page->setReturnReference('getFormBySubmit', $form); $page->expectOnce('getFormBySubmit', array(new SimpleByLabel('Go'))); $page->setReturnValue('getRaw', 'stuff'); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->clickSubmit('Go')); } function testDefaultSubmitFormByLabel() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $agent->expectArgumentsAt(1, 'fetchResponse', array( new SimpleUrl('http://this.com/page.html'), new SimpleGetEncoding(array('a' => 'A')))); $agent->expectCallCount('fetchResponse', 2); $form = &new MockSimpleForm(); $form->setReturnValue('getAction', new SimpleUrl('http://this.com/page.html')); $form->setReturnValue('getMethod', 'get'); $form->setReturnValue('submitButton', new SimpleGetEncoding(array('a' => 'A'))); $page = &new MockSimplePage(); $page->setReturnReference('getFormBySubmit', $form); $page->expectOnce('getFormBySubmit', array(new SimpleByLabel('Submit'))); $page->setReturnValue('getRaw', 'stuff'); $page->setReturnValue('getUrl', new SimpleUrl('http://this.com/page.html')); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->clickSubmit()); } function testSubmitFormByName() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $form = &new MockSimpleForm(); $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); $form->setReturnValue('getMethod', 'post'); $form->setReturnValue('submitButton', new SimplePostEncoding(array('a' => 'A'))); $page = &new MockSimplePage(); $page->setReturnReference('getFormBySubmit', $form); $page->expectOnce('getFormBySubmit', array(new SimpleByName('me'))); $page->setReturnValue('getRaw', 'stuff'); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->clickSubmitByName('me')); } function testSubmitFormById() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $form = &new MockSimpleForm(); $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); $form->setReturnValue('getMethod', 'post'); $form->setReturnValue('submitButton', new SimplePostEncoding(array('a' => 'A'))); $form->expectOnce('submitButton', array(new SimpleById(99), false)); $page = &new MockSimplePage(); $page->setReturnReference('getFormBySubmit', $form); $page->expectOnce('getFormBySubmit', array(new SimpleById(99))); $page->setReturnValue('getRaw', 'stuff'); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->clickSubmitById(99)); } function testSubmitFormByImageLabel() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $form = &new MockSimpleForm(); $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); $form->setReturnValue('getMethod', 'post'); $form->setReturnValue('submitImage', new SimplePostEncoding(array('a' => 'A'))); $form->expectOnce('submitImage', array(new SimpleByLabel('Go!'), 10, 11, false)); $page = &new MockSimplePage(); $page->setReturnReference('getFormByImage', $form); $page->expectOnce('getFormByImage', array(new SimpleByLabel('Go!'))); $page->setReturnValue('getRaw', 'stuff'); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->clickImage('Go!', 10, 11)); } function testSubmitFormByImageName() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $form = &new MockSimpleForm(); $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); $form->setReturnValue('getMethod', 'post'); $form->setReturnValue('submitImage', new SimplePostEncoding(array('a' => 'A'))); $form->expectOnce('submitImage', array(new SimpleByName('a'), 10, 11, false)); $page = &new MockSimplePage(); $page->setReturnReference('getFormByImage', $form); $page->expectOnce('getFormByImage', array(new SimpleByName('a'))); $page->setReturnValue('getRaw', 'stuff'); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->clickImageByName('a', 10, 11)); } function testSubmitFormByImageId() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $form = &new MockSimpleForm(); $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); $form->setReturnValue('getMethod', 'post'); $form->setReturnValue('submitImage', new SimplePostEncoding(array('a' => 'A'))); $form->expectOnce('submitImage', array(new SimpleById(99), 10, 11, false)); $page = &new MockSimplePage(); $page->setReturnReference('getFormByImage', $form); $page->expectOnce('getFormByImage', array(new SimpleById(99))); $page->setReturnValue('getRaw', 'stuff'); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->clickImageById(99, 10, 11)); } function testSubmitFormByFormId() { $agent = &new MockSimpleUserAgent(); $agent->setReturnReference('fetchResponse', new MockSimpleHttpResponse()); $agent->expectArgumentsAt(1, 'fetchResponse', array( new SimpleUrl('http://this.com/handler.html'), new SimplePostEncoding(array('a' => 'A')))); $agent->expectCallCount('fetchResponse', 2); $form = &new MockSimpleForm(); $form->setReturnValue('getAction', new SimpleUrl('http://this.com/handler.html')); $form->setReturnValue('getMethod', 'post'); $form->setReturnValue('submit', new SimplePostEncoding(array('a' => 'A'))); $page = &new MockSimplePage(); $page->setReturnReference('getFormById', $form); $page->expectOnce('getFormById', array(33)); $page->setReturnValue('getRaw', 'stuff'); $browser = &$this->createBrowser($agent, $page); $browser->get('http://this.com/page.html'); $this->assertTrue($browser->submitFormById(33));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?