2 // vim: foldmethod=marker
4 * Ethna_Plugin_Validator_Max_Test.php
8 * Ethna_Plugin_Validator_Maxクラスのテストケース
12 class Ethna_Plugin_Validator_Max_Test extends Ethna_UnitTestBase
18 $ctl =& Ethna_Controller::getInstance();
19 $plugin =& $ctl->getPlugin();
20 $this->vld = $plugin->getPlugin('Validator', 'Max');
23 // {{{ test max integer
24 function test_max_integer()
27 'type' => VAR_TYPE_INT,
30 'error' => '{form}には10以下の数字(整数)を入力して下さい'
32 $this->vld->af->setDef('namae_int', $form_int);
34 $pear_error = $this->vld->validate('namae_int', 9, $form_int);
35 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
37 $pear_error = $this->vld->validate('namae_int', 10, $form_int);
38 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
40 $pear_error = $this->vld->validate('namae_int', '', $form_int);
41 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
43 $pear_error = $this->vld->validate('namae_int', 9.5, $form_int);
44 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
47 $pear_error = $this->vld->validate('namae_int', 11, $form_int);
48 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
49 $this->assertEqual(E_FORM_MAX_INT,$pear_error->getCode());
50 $this->assertEqual($form_int['error'], $pear_error->getMessage());
55 function test_max_float()
58 'type' => VAR_TYPE_FLOAT,
61 'error' => '{form}には10.000000以下の数字(小数)を入力して下さい'
63 $this->vld->af->setDef('namae_float', $form_float);
65 $pear_error = $this->vld->validate('namae_float', 10, $form_float);
66 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
68 $pear_error = $this->vld->validate('namae_float', '', $form_float);
69 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
72 $pear_error = $this->vld->validate('namae_float', 10.11, $form_float);
73 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
74 $this->assertEqual(E_FORM_MAX_FLOAT, $pear_error->getCode());
75 $this->assertEqual($form_float['error'], $pear_error->getMessage());
78 $pear_error = $this->vld->validate('namae_float', 11, $form_float);
79 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
80 $this->assertEqual(E_FORM_MAX_FLOAT, $pear_error->getCode());
81 $this->assertEqual($form_float['error'], $pear_error->getMessage());
85 // {{{ test max string
86 function test_max_string()
89 'type' => VAR_TYPE_STRING,
92 'error' => '{form}は全角2文字以下(半角1文字以下)で入力して下さい'
94 $this->vld->af->setDef('namae_string', $form_string);
96 $pear_error = $this->vld->validate('namae_string', '', $form_string);
97 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
99 $pear_error = $this->vld->validate('namae_string', 'as', $form_string);
100 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
103 $pear_error = $this->vld->validate('namae_string', 'ddd', $form_string);
104 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
105 $this->assertEqual(E_FORM_MAX_STRING, $pear_error->getCode());
106 $this->assertEqual($form_string['error'], $pear_error->getMessage());
109 $pear_error = $this->vld->validate('namae_string', 118888, $form_string);
110 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
111 $this->assertEqual(E_FORM_MAX_STRING, $pear_error->getCode());
112 $this->assertEqual($form_string['error'], $pear_error->getMessage());
115 $pear_error = $this->vld->validate('namae_string', 'ああ', $form_string);
116 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
118 $pear_error = $this->vld->validate('namae_string', 'あああ', $form_string);
119 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
123 // {{{ test max datetime
124 function test_max_datetime()
126 $form_datetime = array(
127 'type' => VAR_TYPE_DATETIME,
130 'error' => '{form}には-1 day以前の日付を入力して下さい'
132 $this->vld->af->setDef('namae_datetime', $form_datetime);
134 $pear_error = $this->vld->validate('namae_datetime', '-2 day', $form_datetime);
135 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
137 $pear_error = $this->vld->validate('namae_datetime', '-1 day', $form_datetime);
138 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
140 $pear_error = $this->vld->validate('namae_datetime', '', $form_datetime);
141 $this->assertFalse(is_a($pear_error, 'Ethna_Error'));
144 $pear_error = $this->vld->validate('namae_datetime', '+3 day', $form_datetime);
145 $this->assertTrue(is_a($pear_error, 'Ethna_Error'));
146 $this->assertEqual(E_FORM_MAX_DATETIME, $pear_error->getCode());
147 $this->assertEqual($form_datetime['error'], $pear_error->getMessage());