2 // vim: foldmethod=marker
4 * Ethna_ActionForm_Validator_Strmincompat_Test.php
6 * @author Yoshinari Takaoka <takaoka@beatcraft.com>
10 // {{{ Ethna_ActionForm_Validator_Strmincompat_Test
12 * Test Case For Ethna_ActionForm(Min Validator(2.3.x compatible))
16 class Ethna_ActionForm_Validator_Strmincompat_Test extends Ethna_UnitTestBase
20 $this->af->use_validator_plugin = false;
21 $this->af->clearFormVars();
22 $this->af->form = array();
26 // {{{ Validator Min string(2.3.x compatible).
27 function test_Validate_Min_String_Compatible()
30 'type' => VAR_TYPE_STRING,
31 'form_type' => FORM_TYPE_TEXT,
33 'strmincompat' => '4', // 半角4文字、全角2文字
35 $this->af->setDef('input', $form_def);
38 $this->af->set('input', 'abcd');
39 $this->af->validate();
40 $this->assertFalse($this->ae->isError('input'));
43 $this->af->set('input', 'abc');
44 $this->af->validate();
45 $this->assertTrue($this->ae->isError('input'));
48 $this->af->set('input', 'abあ'); // 実質半角4文字
49 $this->af->validate();
50 $this->assertFalse($this->ae->isError('input'));
54 // 内部で強制的にEUC-JPに変換される
55 $this->af->set('input', 'あい');
56 $this->af->validate();
57 $this->assertFalse($this->ae->isError('input'));
60 $this->af->set('input', 'あ');
61 $this->af->validate();
62 $this->assertTrue($this->ae->isError('input'));
65 $this->af->set('input', 'あいa'); // 実質半角5文字
66 $this->af->validate();
67 $this->assertFalse($this->ae->isError('input'));
69 // TODO: Error Message Test.