- Timestamp:
- 11/27/08 12:38:29 (4 years ago)
- Files:
-
- 1 modified
-
lang/perl/NanoA/trunk/t/form.t (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/NanoA/trunk/t/form.t
r24968 r25063 25 25 regexp => qr/^[0-9a-z_]{6,8}/, 26 26 }, 27 # TODO add test for hidden fields28 27 sex => { 29 28 type => 'radio', … … 70 69 max_length => 10, 71 70 }, 71 unique_key => { 72 type => 'hidden', 73 # validation 74 required => 1, 75 }, 72 76 ], 73 77 ); … … 88 92 like($field->validate([ '$-13409' ])->message, qr/無効/, 'text regexp error'); 89 93 ok(! $field->validate([ 'michael' ]), 'text regexp'); 90 is(${$field-> to_html},94 is(${$field->render}, 91 95 '<input class="hoge_class" name="username" type="text" value="def"val" />', 92 'text to_html',93 ); 94 is(${$field-> to_html([ 'hoge' ])},96 'text render', 97 ); 98 is(${$field->render([ 'hoge' ])}, 95 99 '<input class="hoge_class" name="username" type="text" value="hoge" />', 96 'text to_html2',100 'text render 2', 97 101 ); 98 102 … … 104 108 ok(! $field->validate([ 'male' ]), 'radio validate'); 105 109 ok(! $field->validate([ 'female' ]), 'radio validate 2'); 106 like(${$field->options->[0]-> to_html},110 like(${$field->options->[0]->render}, 107 111 qr{<input id=".*?" name="sex" type="radio" value="male" /><label for=".*?">男性</label>}, 108 'radio to_html',109 ); 110 like(${$field-> to_html},112 'radio render', 113 ); 114 like(${$field->render}, 111 115 qr{<input id=".*?" name="sex" type="radio" value="male" /><label for=".*?">男性</label>\s*<input id=".*?" name="sex" type="radio" value="female" /><label for=".*?">女性</label>}, 112 'radio to_html2',113 ); 114 like(${$field-> to_html([ 'male' ])},116 'radio render 2', 117 ); 118 like(${$field->render([ 'male' ])}, 115 119 qr{<input checked="1" id=".*?" name="sex" type="radio" value="male" /><label for=".*?">男性</label>\s*<input id=".*?" name="sex" type="radio" value="female" /><label for=".*?">女性</label>}, 116 'radio to_html3',120 'radio render 3', 117 121 ); 118 122 … … 125 129 ok(! $field->validate([ 20 ]), 'select validate'); 126 130 ok(! $field->validate([ 30 ]), 'select validate 2'); 127 is(${$field->options->[0]-> to_html},131 is(${$field->options->[0]->render}, 128 132 '<option selected="1" value="">選択してください</option>', 129 'select to_html1',130 ); 131 is(${$field->options->[1]-> to_html},133 'select render 1', 134 ); 135 is(${$field->options->[1]->render}, 132 136 '<option value="19">〜19才</option>', 133 'select to_html2',134 ); 135 is(${$field-> to_html},137 'select render 2', 138 ); 139 is(${$field->render}, 136 140 join( 137 141 '', … … 146 150 '</select>', 147 151 ), 148 'select to_html3',149 ); 150 is(${$field-> to_html([ 20 ])},152 'select render 3', 153 ); 154 is(${$field->render([ 20 ])}, 151 155 join( 152 156 '', … … 161 165 '</select>', 162 166 ), 163 'select to_html 3',167 'select render 4', 164 168 ); 165 169 … … 172 176 like($field->validate([ qw/c perl php ruby/ ])->message, qr/の中から 2 〜 3/, 'checkbox required 4'); 173 177 like( 174 ${$field->options->[0]-> to_html},178 ${$field->options->[0]->render}, 175 179 qr{<input id=".*?" name="interest" type="checkbox" value="c" /><label for=".*?">C/C\+\+</label>}, 176 'checkbox to_html1',177 ); 178 like( 179 ${$field->options->[1]-> to_html},180 'checkbox render 1', 181 ); 182 like( 183 ${$field->options->[1]->render}, 180 184 qr{<input checked="1" id=".*?" name="interest" type="checkbox" value="perl" /><label for=".*?">perl</label>}, 181 'checkbox to_html2',182 ); 183 like( 184 ${$field-> to_html},185 'checkbox render 2', 186 ); 187 like( 188 ${$field->render}, 185 189 qr{<input id=".*?" name="interest" type="checkbox" value="c" /><label for=".*?">C/C\+\+</label> <input checked="1" id=".*?" name="interest" type="checkbox" value="perl" /><label for=".*?">perl</label> <input id=".*?" name="interest" type="checkbox" value="php" /><label for=".*?">PHP</label> <input id=".*?" name="interest" type="checkbox" value="ruby" /><label for=".*?">Ruby</label>}, 186 'checkbox to_html3',187 ); 188 like( 189 ${$field-> to_html([ qw/perl php/ ])},190 'checkbox render 3', 191 ); 192 like( 193 ${$field->render([ qw/perl php/ ])}, 190 194 qr{<input id=".*?" name="interest" type="checkbox" value="c" /><label for=".*?">C/C\+\+</label> <input checked="1" id=".*?" name="interest" type="checkbox" value="perl" /><label for=".*?">perl</label> <input checked="1" id=".*?" name="interest" type="checkbox" value="php" /><label for=".*?">PHP</label> <input id=".*?" name="interest" type="checkbox" value="ruby" /><label for=".*?">Ruby</label>}, 191 'checkbox to_html 3',195 'checkbox render 4', 192 196 ); 193 197 … … 198 202 like($field->validate([ 'abcdefghijk' ])->message, qr/長すぎ/, 'textarea max_length'); 199 203 ok(! $field->validate([ 'abcde' ]), 'textarea validate'); 200 is(${$field-> to_html},204 is(${$field->render}, 201 205 '<textarea cols="40" name="comment" rows="10">def"val</textarea>', 202 'textarea to_html1',203 ); 204 is(${$field-> to_html([ qw/abcde/ ])},206 'textarea render 1', 207 ); 208 is(${$field->render([ qw/abcde/ ])}, 205 209 '<textarea cols="40" name="comment" rows="10">abcde</textarea>', 206 'textarea to_html 2', 207 ); 210 'textarea render 2', 211 ); 212 213 $field = $form->fields->[5]; 214 is($field->type, q(hidden), 'hidden type'); 215 like($field->validate([])->message, qr/を入力してください/, 'hidden required'); 216 ok(! $field->validate([ 'abc' ]), 'hidden validate'); 217 is(${$field->render}, 218 '<input name="unique_key" type="hidden" />', 219 'hidden render 1', 220 ); 221 is(${$field->render([ qw/abcde/ ])}, 222 '<input name="unique_key" type="hidden" value="abcde" />', 223 'hidden render 1', 224 );
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)