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 + -
显示快捷键?