form_test.php.svn-base
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 323 行 · 第 1/2 页
SVN-BASE
323 行
<?php// $Id: form_test.php 1624 2008-01-01 15:00:43Z pp11 $require_once(dirname(__FILE__) . '/../autorun.php');require_once(dirname(__FILE__) . '/../url.php');require_once(dirname(__FILE__) . '/../form.php');require_once(dirname(__FILE__) . '/../page.php');require_once(dirname(__FILE__) . '/../encoding.php');Mock::generate('SimplePage');class TestOfForm extends UnitTestCase { function &page($url, $action = false) { $page = &new MockSimplePage(); $page->setReturnValue('getUrl', new SimpleUrl($url)); $page->setReturnValue('expandUrl', new SimpleUrl($url)); return $page; } function testFormAttributes() { $tag = &new SimpleFormTag(array('method' => 'GET', 'action' => 'here.php', 'id' => '33')); $form = &new SimpleForm($tag, $this->page('http://host/a/index.html')); $this->assertEqual($form->getMethod(), 'get'); $this->assertIdentical($form->getId(), '33'); $this->assertNull($form->getValue(new SimpleByName('a'))); } function testAction() { $page = &new MockSimplePage(); $page->expectOnce('expandUrl', array(new SimpleUrl('here.php'))); $page->setReturnValue('expandUrl', new SimpleUrl('http://host/here.php')); $tag = &new SimpleFormTag(array('method' => 'GET', 'action' => 'here.php')); $form = &new SimpleForm($tag, $page); $this->assertEqual($form->getAction(), new SimpleUrl('http://host/here.php')); } function testEmptyAction() { $tag = &new SimpleFormTag(array('method' => 'GET', 'action' => '', 'id' => '33')); $form = &new SimpleForm($tag, $this->page('http://host/a/index.html')); $this->assertEqual( $form->getAction(), new SimpleUrl('http://host/a/index.html')); } function testMissingAction() { $tag = &new SimpleFormTag(array('method' => 'GET')); $form = &new SimpleForm($tag, $this->page('http://host/a/index.html')); $this->assertEqual( $form->getAction(), new SimpleUrl('http://host/a/index.html')); } function testRootAction() { $page = &new MockSimplePage(); $page->expectOnce('expandUrl', array(new SimpleUrl('/'))); $page->setReturnValue('expandUrl', new SimpleUrl('http://host/')); $tag = &new SimpleFormTag(array('method' => 'GET', 'action' => '/')); $form = &new SimpleForm($tag, $page); $this->assertEqual( $form->getAction(), new SimpleUrl('http://host/')); } function testDefaultFrameTargetOnForm() { $page = &new MockSimplePage(); $page->expectOnce('expandUrl', array(new SimpleUrl('here.php'))); $page->setReturnValue('expandUrl', new SimpleUrl('http://host/here.php')); $tag = &new SimpleFormTag(array('method' => 'GET', 'action' => 'here.php')); $form = &new SimpleForm($tag, $page); $form->setDefaultTarget('frame'); $expected = new SimpleUrl('http://host/here.php'); $expected->setTarget('frame'); $this->assertEqual($form->getAction(), $expected); } function testTextWidget() { $form = &new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); $form->addWidget(new SimpleTextTag( array('name' => 'me', 'type' => 'text', 'value' => 'Myself'))); $this->assertIdentical($form->getValue(new SimpleByName('me')), 'Myself'); $this->assertTrue($form->setField(new SimpleByName('me'), 'Not me')); $this->assertFalse($form->setField(new SimpleByName('not_present'), 'Not me')); $this->assertIdentical($form->getValue(new SimpleByName('me')), 'Not me'); $this->assertNull($form->getValue(new SimpleByName('not_present'))); } function testTextWidgetById() { $form = &new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); $form->addWidget(new SimpleTextTag( array('name' => 'me', 'type' => 'text', 'value' => 'Myself', 'id' => 50))); $this->assertIdentical($form->getValue(new SimpleById(50)), 'Myself'); $this->assertTrue($form->setField(new SimpleById(50), 'Not me')); $this->assertIdentical($form->getValue(new SimpleById(50)), 'Not me'); } function testTextWidgetByLabel() { $form = &new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); $widget = &new SimpleTextTag(array('name' => 'me', 'type' => 'text', 'value' => 'a')); $form->addWidget($widget); $widget->setLabel('thing'); $this->assertIdentical($form->getValue(new SimpleByLabel('thing')), 'a'); $this->assertTrue($form->setField(new SimpleByLabel('thing'), 'b')); $this->assertIdentical($form->getValue(new SimpleByLabel('thing')), 'b'); } function testSubmitEmpty() { $form = &new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); $this->assertIdentical($form->submit(), new SimpleGetEncoding()); } function testSubmitButton() { $form = &new SimpleForm(new SimpleFormTag(array()), $this->page('http://host')); $form->addWidget(new SimpleSubmitTag( array('type' => 'submit', 'name' => 'go', 'value' => 'Go!', 'id' => '9'))); $this->assertTrue($form->hasSubmit(new SimpleByName('go'))); $this->assertEqual($form->getValue(new SimpleByName('go')), 'Go!'); $this->assertEqual($form->getValue(new SimpleById(9)), 'Go!'); $this->assertEqual( $form->submitButton(new SimpleByName('go')), new SimpleGetEncoding(array('go' => 'Go!'))); $this->assertEqual( $form->submitButton(new SimpleByLabel('Go!')), new SimpleGetEncoding(array('go' => 'Go!'))); $this->assertEqual( $form->submitButton(new SimpleById(9)), new SimpleGetEncoding(array('go' => 'Go!'))); } function testSubmitWithAdditionalParameters() { $form = &new SimpleForm(new SimpleFormTag(array()), $this->page('http://host')); $form->addWidget(new SimpleSubmitTag( array('type' => 'submit', 'name' => 'go', 'value' => 'Go!'))); $this->assertEqual( $form->submitButton(new SimpleByLabel('Go!'), array('a' => 'A')), new SimpleGetEncoding(array('go' => 'Go!', 'a' => 'A'))); } function testSubmitButtonWithLabelOfSubmit() { $form = &new SimpleForm(new SimpleFormTag(array()), $this->page('http://host')); $form->addWidget(new SimpleSubmitTag( array('type' => 'submit', 'name' => 'test', 'value' => 'Submit'))); $this->assertEqual( $form->submitButton(new SimpleByName('test')), new SimpleGetEncoding(array('test' => 'Submit'))); $this->assertEqual( $form->submitButton(new SimpleByLabel('Submit')), new SimpleGetEncoding(array('test' => 'Submit'))); } function testSubmitButtonWithWhitespacePaddedLabelOfSubmit() { $form = &new SimpleForm(new SimpleFormTag(array()), $this->page('http://host')); $form->addWidget(new SimpleSubmitTag( array('type' => 'submit', 'name' => 'test', 'value' => ' Submit '))); $this->assertEqual( $form->submitButton(new SimpleByLabel('Submit')), new SimpleGetEncoding(array('test' => ' Submit '))); } function testImageSubmitButton() { $form = &new SimpleForm(new SimpleFormTag(array()), $this->page('htp://host')); $form->addWidget(new SimpleImageSubmitTag(array( 'type' => 'image', 'src' => 'source.jpg',
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?