2 // vim: foldmethod=marker
4 * Ethna_Plugin_Validator_Strmincompat_Test.php
8 * Ethna_Plugin_Validator_Strmincompatクラスのテストケース
12 class Ethna_Plugin_Validator_Strmincompat_Test extends Ethna_UnitTestBase
19 $ctl =& new Ethna_Controller();
20 $ctl->setClientEncoding('EUC-JP');
21 $ctl->action_form =& new Ethna_ActionForm($ctl);
22 $this->local_ctl =& $ctl;
23 $plugin =& $ctl->getPlugin();
24 $this->vld = $plugin->getPlugin('Validator', 'Strmincompat');
29 unset($GLOBALS['_Ethna_controller']);
32 // {{{ test min str (compatible class, EUC-JP)
33 function test_min_str_compat_euc()
35 if (extension_loaded('mbstring')) {
37 'type' => VAR_TYPE_STRING,
39 'strmincompat' => '4', // 半角4、全角2文字
41 $this->vld->af->setDef('namae_str', $form_str);
45 $pear_error = $this->vld->validate('namae_str', $input_str, $form_str);
46 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
49 $pear_error = $this->vld->validate('namae_str', $error_str, $form_str);
50 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
51 $this->assertEqual(E_FORM_MIN_STRING,$pear_error->getCode());
55 $input_str_euc = mb_convert_encoding($input_str, 'EUC-JP', 'UTF-8');
56 $pear_error = $this->vld->validate('namae_str', $input_str_euc, $form_str);
57 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
60 $error_str_euc = mb_convert_encoding($error_str, 'EUC-JP', 'UTF-8');
61 $pear_error = $this->vld->validate('namae_str', $error_str_euc, $form_str);
62 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
63 $this->assertEqual(E_FORM_MIN_STRING,$pear_error->getCode());
66 echo " ... skipped because mbstring extension is not installed.";
69 // TODO: Error Message Test.
73 // {{{ test min str (compatible class, SJIS)
74 function test_min_str_compat_sjis()
76 if (extension_loaded('mbstring')) {
78 $this->local_ctl->setClientEncoding('SJIS');
81 'type' => VAR_TYPE_STRING,
83 'strmincompat' => '4', // 半角4、全角2文字
85 $this->vld->af->setDef('namae_str', $form_str);
89 $pear_error = $this->vld->validate('namae_str', $input_str, $form_str);
90 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
93 $pear_error = $this->vld->validate('namae_str', $error_str, $form_str);
94 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
95 $this->assertEqual(E_FORM_MIN_STRING,$pear_error->getCode());
97 // multibyte string(sjis)
99 $input_str_sjis = mb_convert_encoding($input_str, 'SJIS', 'UTF-8');
100 $pear_error = $this->vld->validate('namae_str', $input_str_sjis, $form_str);
101 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
104 $error_str_sjis = mb_convert_encoding($error_str, 'SJIS', 'UTF-8');
105 $pear_error = $this->vld->validate('namae_str', $error_str_sjis, $form_str);
106 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
107 $this->assertEqual(E_FORM_MIN_STRING,$pear_error->getCode());
110 echo " ... skipped because mbstring extension is not installed.";
113 // TODO: Error Message Test.