• R/O
  • HTTP
  • SSH
  • HTTPS

ethna: Commit

Webアプリケーションフレームワーク Ethna の git向けリポジトリ


Commit MetaInfo

Revisiónc5aaf53dd26bc23367dbee5328da3c82b6d61b37 (tree)
Tiempo2009-05-01 04:33:41
Autormumumu-org <mumumu-org@2ef8...>
Commitermumumu-org

Log Message

- removed max form-def and maxlength on formhelper linkage.

Cambiar Resumen

Diferencia incremental

--- a/Idea_Extended_ViewClass/CHANGES
+++ b/Idea_Extended_ViewClass/CHANGES
@@ -21,6 +21,8 @@
2121 --- この機能はデフォルトで有効になっている。無効にしたければ、[appid]_ViewClass.php の $use_layout を false にする
2222 -- フォームヘルパのテキストエリアに value 属性を付加していた動きを修正。(thanks: syachi5150)
2323 --- http://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16326
24+- [Breaking B.C] ルールがユーザにとって直感的ではないとの理由から、フォーム定義の max と フォームヘルパの maxlength の連携機能を削除 (thanks: syachi5150)
25+-- https://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16325
2426
2527 *** bug fix
2628
--- a/Idea_Extended_ViewClass/class/Ethna_ViewClass.php
+++ b/Idea_Extended_ViewClass/class/Ethna_ViewClass.php
@@ -857,10 +857,8 @@ class Ethna_ViewClass
857857 $params['value'] = $value;
858858 }
859859
860- // maxlength
861- if (isset($def['max']) && $def['max']) {
862- $params['maxlength'] = $def['max'];
863- }
860+ // maxlength と フォーム定義のmax連携はサポートしない
861+ // @see http://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16325
864862
865863 return $this->_getFormInput_Html('input', $params);
866864 }
@@ -1100,10 +1098,8 @@ class Ethna_ViewClass
11001098 $params['value'] = $value;
11011099 }
11021100
1103- // maxlength
1104- if (isset($def['max']) && $def['max']) {
1105- $params['maxlength'] = $def['max'];
1106- }
1101+ // maxlength と フォーム定義のmax連携はサポートしない
1102+ // @see http://sourceforge.jp/ticket/browse.php?group_id=1343&tid=16325
11071103
11081104 return $this->_getFormInput_Html('input', $params);
11091105 }
--- a/Idea_Extended_ViewClass/test/Ethna_View_FormHelper_Test.php
+++ b/Idea_Extended_ViewClass/test/Ethna_ViewClass_FormHelper_Test.php
@@ -1,6 +1,6 @@
11 <?php
22 /**
3- * Ethna_View_FormHelper_Test.php
3+ * Ethna_ViewClass_FormHelper_Test.php
44 *
55 * @package Ethna
66 * @author Yoshinari Takaoka <takaoka@beatcraft.com>
@@ -16,7 +16,7 @@ require_once ETHNA_INSTALL_BASE . '/test/Ethna_MockProject.php';
1616 * @author Yoshinari Takaoka <takaoka@beatcraft.com>
1717 * @access public
1818 */
19-class Ethna_View_FormHelper_Test extends Ethna_UnitTestBase
19+class Ethna_ViewClass_FormHelper_Test extends Ethna_UnitTestBase
2020 {
2121 var $project;
2222
@@ -32,6 +32,34 @@ class Ethna_View_FormHelper_Test extends Ethna_UnitTestBase
3232 unset($GLOBALS['_Ethna_controller']);
3333 }
3434
35+ function test_formhelper_Text()
36+ {
37+ $action_name = $tpl_name = 'texttest';
38+ $action_skel = ETHNA_TEST_SKELDIR . 'skel.action.formhelper.php';
39+ $this->project->runCmd('add-action',
40+ array(
41+ '-s',
42+ $action_skel,
43+ $action_name,
44+ )
45+ );
46+ $tpl_skel = ETHNA_TEST_SKELTPLDIR . 'skel.template.text.tpl';
47+ $this->project->runCmd('add-template',
48+ array(
49+ '-s',
50+ $tpl_skel,
51+ $tpl_name,
52+ )
53+ );
54+ $submit_value = array(
55+ 'text_setactval' => 'abcd',
56+ );
57+ $result = $this->project->runMain($action_name, $submit_value);
58+ $this->assertPattern('#<input type="text" name="text_noval" value="" />#', $result);
59+ $this->assertPattern('#<input type="text" name="text_setactval" value="abcd" />#', $result);
60+ $this->assertPattern('#<input value="1234" type="text" name="text_settplval" />#', $result);
61+ }
62+
3563 function test_formhelper_Textarea()
3664 {
3765 $action_name = $tpl_name = 'textareatest';
--- a/Idea_Extended_ViewClass/test/skel/skel.action.formhelper.php
+++ b/Idea_Extended_ViewClass/test/skel/skel.action.formhelper.php
@@ -21,6 +21,27 @@ class {$action_form} extends {$project_id}_ActionForm
2121 * @var array form definition.
2222 */
2323 var $form = array(
24+
25+ /** FORM_TYPE_TEXT のテスト */
26+
27+ 'text_noval' => array(
28+ 'type' => VAR_TYPE_INT,
29+ 'name' => 'textarea_noval',
30+ 'form_type' => FORM_TYPE_TEXT,
31+ ),
32+ 'text_setactval' => array(
33+ 'type' => VAR_TYPE_STRING,
34+ 'name' => 'text_setval',
35+ 'form_type' => FORM_TYPE_TEXT,
36+ 'max' => 10, // maxlength は無視されなければならない
37+ ),
38+ 'text_settplval' => array(
39+ 'type' => VAR_TYPE_STRING,
40+ 'name' => 'text_settplval',
41+ 'form_type' => FORM_TYPE_TEXT,
42+ 'max' => 10, // maxlength は無視されなければならない
43+ ),
44+
2445 /** FORM_TYPE_TEXTAREA のテスト */
2546
2647 // テンプレートでvalue属性を設定しない場合
--- /dev/null
+++ b/Idea_Extended_ViewClass/test/skel/template/skel.template.text.tpl
@@ -0,0 +1,3 @@
1+{form_input name="text_noval"}
2+{form_input name="text_setactval"}
3+{form_input name="text_settplval" value="1234"}
Show on old repository browser