browser_test.php
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· PHP 代码 · 共 779 行 · 第 1/3 页
PHP
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 + -
显示快捷键?