2 // vim: foldmethod=marker
4 * Ethna_ActionForm_Validator_Strmaxcompat_Test.php
6 * @author Yoshinari Takaoka <takaoka@beatcraft.com>
10 // {{{ Ethna_ActionForm_Validator_Strmaxcompat_Test
12 * Test Case For Ethna_ActionForm(Max Validator(2.3.x compatible))
16 class Ethna_ActionForm_Validator_Strmaxcompat_Test extends Ethna_UnitTestBase
20 $this->af->use_validator_plugin = false;
21 $this->af->clearFormVars();
22 $this->af->form = array();
26 // {{{ Validator Max string(2.3.x compatible).
27 function test_Validate_Max_String_Compatible()
30 'type' => VAR_TYPE_STRING,
31 'form_type' => FORM_TYPE_TEXT,
33 'strmaxcompat' => '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', 'abcde');
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', 'あ');
66 $this->af->validate();
67 $this->assertFalse($this->ae->isError('input'));
69 // TODO: Error Message Test.