2 // vim: foldmethod=marker
4 * Ethna_Plugin_Validator_Strmaxcompat_Test.php
8 * Ethna_Plugin_Validator_Strmaxcompatクラスのテストケース
12 class Ethna_Plugin_Validator_Strmaxcompat_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', 'Strmaxcompat');
29 unset($GLOBALS['_Ethna_controller']);
32 // {{{ test max str (compatible class, EUC-JP)
33 function test_max_str_compat_euc()
35 if (extension_loaded('mbstring')) {
37 'type' => VAR_TYPE_STRING,
39 'strmaxcompat' => '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_MAX_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_MAX_STRING,$pear_error->getCode());
66 echo " ... skipped because mbstring extension is not installed.";
69 // TODO: Error Message Test.
73 // {{{ test max str (compatible class, SJIS)
74 function test_max_str_compat_sjis()
76 if (extension_loaded('mbstring')) {
78 $this->local_ctl->setClientEncoding('SJIS');
80 'type' => VAR_TYPE_STRING,
82 'strmaxcompat' => '4', // 半角4、全角2文字
84 $this->vld->af->setDef('namae_str', $form_str);
88 $pear_error = $this->vld->validate('namae_str', $input_str, $form_str);
89 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
92 $pear_error = $this->vld->validate('namae_str', $error_str, $form_str);
93 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
94 $this->assertEqual(E_FORM_MAX_STRING,$pear_error->getCode());
98 $input_str_sjis = mb_convert_encoding($input_str, 'SJIS', 'UTF-8');
99 $pear_error = $this->vld->validate('namae_str', $input_str_sjis, $form_str);
100 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
103 $error_str_sjis = mb_convert_encoding($error_str, 'SJIS', 'UTF-8');
104 $pear_error = $this->vld->validate('namae_str', $error_str_sjis, $form_str);
105 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
106 $this->assertEqual(E_FORM_MAX_STRING,$pear_error->getCode());
109 echo " ... skipped because mbstring extension is not installed.";
112 // TODO: Error Message Test.