Mercurial > hg > Members > shoshi > webvirt
comparison cake/tests/cases/libs/validation.test.php @ 0:261e66bd5a0c
hg init
author | Shoshi TAMAKI <shoshi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 24 Jul 2011 21:08:31 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:261e66bd5a0c |
---|---|
1 <?php | |
2 /** | |
3 * ValidationTest file | |
4 * | |
5 * PHP versions 4 and 5 | |
6 * | |
7 * CakePHP(tm) Tests <http://book.cakephp.org/view/1196/Testing> | |
8 * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org) | |
9 * | |
10 * Licensed under The Open Group Test Suite License | |
11 * Redistributions of files must retain the above copyright notice. | |
12 * | |
13 * @copyright Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org) | |
14 * @link http://book.cakephp.org/view/1196/Testing CakePHP(tm) Tests | |
15 * @package cake | |
16 * @subpackage cake.tests.cases.libs | |
17 * @since CakePHP(tm) v 1.2.0.4206 | |
18 * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License | |
19 */ | |
20 App::import('Core', 'Validation'); | |
21 | |
22 /** | |
23 * CustomValidator class | |
24 * | |
25 * @package cake | |
26 * @subpackage cake.tests.cases.libs | |
27 */ | |
28 class CustomValidator { | |
29 | |
30 /** | |
31 * Makes sure that a given $email address is valid and unique | |
32 * | |
33 * @param string $email | |
34 * @return boolean | |
35 * @access public | |
36 */ | |
37 function customValidate($check) { | |
38 return preg_match('/^[0-9]{3}$/', $check); | |
39 } | |
40 } | |
41 | |
42 /** | |
43 * TestNlValidation class | |
44 * | |
45 * Used to test pass through of Validation | |
46 * | |
47 * @package cake.tests.cases.libs | |
48 */ | |
49 class TestNlValidation { | |
50 /** | |
51 * postal function, for testing postal pass through. | |
52 * | |
53 * @param string $check | |
54 * @return void | |
55 */ | |
56 function postal($check) { | |
57 return true; | |
58 } | |
59 /** | |
60 * ssn function for testing ssn pass through | |
61 * | |
62 * @return void | |
63 */ | |
64 function ssn($check) { | |
65 return true; | |
66 } | |
67 } | |
68 | |
69 /** | |
70 * TestDeValidation class | |
71 * | |
72 * Used to test pass through of Validation | |
73 * | |
74 * @package cake.tests.cases.libs | |
75 */ | |
76 class TestDeValidation { | |
77 /** | |
78 * phone function, for testing phone pass through. | |
79 * | |
80 * @param string $check | |
81 * @return void | |
82 */ | |
83 function phone($check) { | |
84 return true; | |
85 } | |
86 } | |
87 | |
88 /** | |
89 * Test Case for Validation Class | |
90 * | |
91 * @package cake | |
92 * @subpackage cake.tests.cases.libs | |
93 */ | |
94 class ValidationTest extends CakeTestCase { | |
95 | |
96 /** | |
97 * Validation property | |
98 * | |
99 * @var mixed null | |
100 * @access public | |
101 */ | |
102 var $Validation = null; | |
103 | |
104 /** | |
105 * setup method | |
106 * | |
107 * @access public | |
108 * @return void | |
109 */ | |
110 function setUp() { | |
111 $this->Validation =& Validation::getInstance(); | |
112 $this->_appEncoding = Configure::read('App.encoding'); | |
113 } | |
114 | |
115 /** | |
116 * tearDown method | |
117 * | |
118 * @access public | |
119 * @return void | |
120 */ | |
121 function tearDown() { | |
122 Configure::write('App.encoding', $this->_appEncoding); | |
123 } | |
124 | |
125 /** | |
126 * testNotEmpty method | |
127 * | |
128 * @access public | |
129 * @return void | |
130 */ | |
131 function testNotEmpty() { | |
132 $this->assertTrue(Validation::notEmpty('abcdefg')); | |
133 $this->assertTrue(Validation::notEmpty('fasdf ')); | |
134 $this->assertTrue(Validation::notEmpty('fooo'.chr(243).'blabla')); | |
135 $this->assertTrue(Validation::notEmpty('abçďĕʑʘπй')); | |
136 $this->assertTrue(Validation::notEmpty('José')); | |
137 $this->assertTrue(Validation::notEmpty('é')); | |
138 $this->assertTrue(Validation::notEmpty('π')); | |
139 $this->assertFalse(Validation::notEmpty("\t ")); | |
140 $this->assertFalse(Validation::notEmpty("")); | |
141 | |
142 } | |
143 | |
144 /** | |
145 * testNotEmptyISO88591Encoding method | |
146 * | |
147 * @return void | |
148 * @access public | |
149 */ | |
150 function testNotEmptyISO88591AppEncoding() { | |
151 Configure::write('App.encoding', 'ISO-8859-1'); | |
152 $this->assertTrue(Validation::notEmpty('abcdefg')); | |
153 $this->assertTrue(Validation::notEmpty('fasdf ')); | |
154 $this->assertTrue(Validation::notEmpty('fooo'.chr(243).'blabla')); | |
155 $this->assertTrue(Validation::notEmpty('abçďĕʑʘπй')); | |
156 $this->assertTrue(Validation::notEmpty('José')); | |
157 $this->assertTrue(Validation::notEmpty(utf8_decode('José'))); | |
158 $this->assertFalse(Validation::notEmpty("\t ")); | |
159 $this->assertFalse(Validation::notEmpty("")); | |
160 } | |
161 | |
162 /** | |
163 * testAlphaNumeric method | |
164 * | |
165 * @access public | |
166 * @return void | |
167 */ | |
168 function testAlphaNumeric() { | |
169 $this->assertTrue(Validation::alphaNumeric('frferrf')); | |
170 $this->assertTrue(Validation::alphaNumeric('12234')); | |
171 $this->assertTrue(Validation::alphaNumeric('1w2e2r3t4y')); | |
172 $this->assertTrue(Validation::alphaNumeric('0')); | |
173 $this->assertTrue(Validation::alphaNumeric('abçďĕʑʘπй')); | |
174 $this->assertTrue(Validation::alphaNumeric('ˇˆๆゞ')); | |
175 $this->assertTrue(Validation::alphaNumeric('אกあアꀀ豈')); | |
176 $this->assertTrue(Validation::alphaNumeric('Džᾈᾨ')); | |
177 $this->assertTrue(Validation::alphaNumeric('ÆΔΩЖÇ')); | |
178 | |
179 | |
180 $this->assertFalse(Validation::alphaNumeric('12 234')); | |
181 $this->assertFalse(Validation::alphaNumeric('dfd 234')); | |
182 $this->assertFalse(Validation::alphaNumeric("\n")); | |
183 $this->assertFalse(Validation::alphaNumeric("\t")); | |
184 $this->assertFalse(Validation::alphaNumeric("\r")); | |
185 $this->assertFalse(Validation::alphaNumeric(' ')); | |
186 $this->assertFalse(Validation::alphaNumeric('')); | |
187 } | |
188 | |
189 /** | |
190 * testAlphaNumericPassedAsArray method | |
191 * | |
192 * @access public | |
193 * @return void | |
194 */ | |
195 function testAlphaNumericPassedAsArray() { | |
196 $this->assertTrue(Validation::alphaNumeric(array('check' => 'frferrf'))); | |
197 $this->assertTrue(Validation::alphaNumeric(array('check' => '12234'))); | |
198 $this->assertTrue(Validation::alphaNumeric(array('check' => '1w2e2r3t4y'))); | |
199 $this->assertTrue(Validation::alphaNumeric(array('check' => '0'))); | |
200 $this->assertFalse(Validation::alphaNumeric(array('check' => '12 234'))); | |
201 $this->assertFalse(Validation::alphaNumeric(array('check' => 'dfd 234'))); | |
202 $this->assertFalse(Validation::alphaNumeric(array('check' => "\n"))); | |
203 $this->assertFalse(Validation::alphaNumeric(array('check' => "\t"))); | |
204 $this->assertFalse(Validation::alphaNumeric(array('check' => "\r"))); | |
205 $this->assertFalse(Validation::alphaNumeric(array('check' => ' '))); | |
206 $this->assertFalse(Validation::alphaNumeric(array('check' => ''))); | |
207 } | |
208 | |
209 /** | |
210 * testBetween method | |
211 * | |
212 * @access public | |
213 * @return void | |
214 */ | |
215 function testBetween() { | |
216 $this->assertTrue(Validation::between('abcdefg', 1, 7)); | |
217 $this->assertTrue(Validation::between('', 0, 7)); | |
218 $this->assertTrue(Validation::between('אกあアꀀ豈', 1, 7)); | |
219 | |
220 $this->assertFalse(Validation::between('abcdefg', 1, 6)); | |
221 $this->assertFalse(Validation::between('ÆΔΩЖÇ', 1, 3)); | |
222 } | |
223 | |
224 /** | |
225 * testBlank method | |
226 * | |
227 * @access public | |
228 * @return void | |
229 */ | |
230 function testBlank() { | |
231 $this->assertTrue(Validation::blank('')); | |
232 $this->assertTrue(Validation::blank(' ')); | |
233 $this->assertTrue(Validation::blank("\n")); | |
234 $this->assertTrue(Validation::blank("\t")); | |
235 $this->assertTrue(Validation::blank("\r")); | |
236 $this->assertFalse(Validation::blank(' Blank')); | |
237 $this->assertFalse(Validation::blank('Blank')); | |
238 } | |
239 | |
240 /** | |
241 * testBlankAsArray method | |
242 * | |
243 * @access public | |
244 * @return void | |
245 */ | |
246 function testBlankAsArray() { | |
247 $this->assertTrue(Validation::blank(array('check' => ''))); | |
248 $this->assertTrue(Validation::blank(array('check' => ' '))); | |
249 $this->assertTrue(Validation::blank(array('check' => "\n"))); | |
250 $this->assertTrue(Validation::blank(array('check' => "\t"))); | |
251 $this->assertTrue(Validation::blank(array('check' => "\r"))); | |
252 $this->assertFalse(Validation::blank(array('check' => ' Blank'))); | |
253 $this->assertFalse(Validation::blank(array('check' => 'Blank'))); | |
254 } | |
255 | |
256 /** | |
257 * testcc method | |
258 * | |
259 * @access public | |
260 * @return void | |
261 */ | |
262 function testcc() { | |
263 //American Express | |
264 $this->assertTrue(Validation::cc('370482756063980', array('amex'))); | |
265 $this->assertTrue(Validation::cc('349106433773483', array('amex'))); | |
266 $this->assertTrue(Validation::cc('344671486204764', array('amex'))); | |
267 $this->assertTrue(Validation::cc('344042544509943', array('amex'))); | |
268 $this->assertTrue(Validation::cc('377147515754475', array('amex'))); | |
269 $this->assertTrue(Validation::cc('375239372816422', array('amex'))); | |
270 $this->assertTrue(Validation::cc('376294341957707', array('amex'))); | |
271 $this->assertTrue(Validation::cc('341779292230411', array('amex'))); | |
272 $this->assertTrue(Validation::cc('341646919853372', array('amex'))); | |
273 $this->assertTrue(Validation::cc('348498616319346', array('amex'))); | |
274 //BankCard | |
275 $this->assertTrue(Validation::cc('5610745867413420', array('bankcard'))); | |
276 $this->assertTrue(Validation::cc('5610376649499352', array('bankcard'))); | |
277 $this->assertTrue(Validation::cc('5610091936000694', array('bankcard'))); | |
278 $this->assertTrue(Validation::cc('5602248780118788', array('bankcard'))); | |
279 $this->assertTrue(Validation::cc('5610631567676765', array('bankcard'))); | |
280 $this->assertTrue(Validation::cc('5602238211270795', array('bankcard'))); | |
281 $this->assertTrue(Validation::cc('5610173951215470', array('bankcard'))); | |
282 $this->assertTrue(Validation::cc('5610139705753702', array('bankcard'))); | |
283 $this->assertTrue(Validation::cc('5602226032150551', array('bankcard'))); | |
284 $this->assertTrue(Validation::cc('5602223993735777', array('bankcard'))); | |
285 //Diners Club 14 | |
286 $this->assertTrue(Validation::cc('30155483651028', array('diners'))); | |
287 $this->assertTrue(Validation::cc('36371312803821', array('diners'))); | |
288 $this->assertTrue(Validation::cc('38801277489875', array('diners'))); | |
289 $this->assertTrue(Validation::cc('30348560464296', array('diners'))); | |
290 $this->assertTrue(Validation::cc('30349040317708', array('diners'))); | |
291 $this->assertTrue(Validation::cc('36567413559978', array('diners'))); | |
292 $this->assertTrue(Validation::cc('36051554732702', array('diners'))); | |
293 $this->assertTrue(Validation::cc('30391842198191', array('diners'))); | |
294 $this->assertTrue(Validation::cc('30172682197745', array('diners'))); | |
295 $this->assertTrue(Validation::cc('30162056566641', array('diners'))); | |
296 $this->assertTrue(Validation::cc('30085066927745', array('diners'))); | |
297 $this->assertTrue(Validation::cc('36519025221976', array('diners'))); | |
298 $this->assertTrue(Validation::cc('30372679371044', array('diners'))); | |
299 $this->assertTrue(Validation::cc('38913939150124', array('diners'))); | |
300 $this->assertTrue(Validation::cc('36852899094637', array('diners'))); | |
301 $this->assertTrue(Validation::cc('30138041971120', array('diners'))); | |
302 $this->assertTrue(Validation::cc('36184047836838', array('diners'))); | |
303 $this->assertTrue(Validation::cc('30057460264462', array('diners'))); | |
304 $this->assertTrue(Validation::cc('38980165212050', array('diners'))); | |
305 $this->assertTrue(Validation::cc('30356516881240', array('diners'))); | |
306 $this->assertTrue(Validation::cc('38744810033182', array('diners'))); | |
307 $this->assertTrue(Validation::cc('30173638706621', array('diners'))); | |
308 $this->assertTrue(Validation::cc('30158334709185', array('diners'))); | |
309 $this->assertTrue(Validation::cc('30195413721186', array('diners'))); | |
310 $this->assertTrue(Validation::cc('38863347694793', array('diners'))); | |
311 $this->assertTrue(Validation::cc('30275627009113', array('diners'))); | |
312 $this->assertTrue(Validation::cc('30242860404971', array('diners'))); | |
313 $this->assertTrue(Validation::cc('30081877595151', array('diners'))); | |
314 $this->assertTrue(Validation::cc('38053196067461', array('diners'))); | |
315 $this->assertTrue(Validation::cc('36520379984870', array('diners'))); | |
316 //2004 MasterCard/Diners Club Alliance International 14 | |
317 $this->assertTrue(Validation::cc('36747701998969', array('diners'))); | |
318 $this->assertTrue(Validation::cc('36427861123159', array('diners'))); | |
319 $this->assertTrue(Validation::cc('36150537602386', array('diners'))); | |
320 $this->assertTrue(Validation::cc('36582388820610', array('diners'))); | |
321 $this->assertTrue(Validation::cc('36729045250216', array('diners'))); | |
322 //2004 MasterCard/Diners Club Alliance US & Canada 16 | |
323 $this->assertTrue(Validation::cc('5597511346169950', array('diners'))); | |
324 $this->assertTrue(Validation::cc('5526443162217562', array('diners'))); | |
325 $this->assertTrue(Validation::cc('5577265786122391', array('diners'))); | |
326 $this->assertTrue(Validation::cc('5534061404676989', array('diners'))); | |
327 $this->assertTrue(Validation::cc('5545313588374502', array('diners'))); | |
328 //Discover | |
329 $this->assertTrue(Validation::cc('6011802876467237', array('disc'))); | |
330 $this->assertTrue(Validation::cc('6506432777720955', array('disc'))); | |
331 $this->assertTrue(Validation::cc('6011126265283942', array('disc'))); | |
332 $this->assertTrue(Validation::cc('6502187151579252', array('disc'))); | |
333 $this->assertTrue(Validation::cc('6506600836002298', array('disc'))); | |
334 $this->assertTrue(Validation::cc('6504376463615189', array('disc'))); | |
335 $this->assertTrue(Validation::cc('6011440907005377', array('disc'))); | |
336 $this->assertTrue(Validation::cc('6509735979634270', array('disc'))); | |
337 $this->assertTrue(Validation::cc('6011422366775856', array('disc'))); | |
338 $this->assertTrue(Validation::cc('6500976374623323', array('disc'))); | |
339 //enRoute | |
340 $this->assertTrue(Validation::cc('201496944158937', array('enroute'))); | |
341 $this->assertTrue(Validation::cc('214945833739665', array('enroute'))); | |
342 $this->assertTrue(Validation::cc('214982692491187', array('enroute'))); | |
343 $this->assertTrue(Validation::cc('214901395949424', array('enroute'))); | |
344 $this->assertTrue(Validation::cc('201480676269187', array('enroute'))); | |
345 $this->assertTrue(Validation::cc('214911922887807', array('enroute'))); | |
346 $this->assertTrue(Validation::cc('201485025457250', array('enroute'))); | |
347 $this->assertTrue(Validation::cc('201402662758866', array('enroute'))); | |
348 $this->assertTrue(Validation::cc('214981579370225', array('enroute'))); | |
349 $this->assertTrue(Validation::cc('201447595859877', array('enroute'))); | |
350 //JCB 15 digit | |
351 $this->assertTrue(Validation::cc('210034762247893', array('jcb'))); | |
352 $this->assertTrue(Validation::cc('180078671678892', array('jcb'))); | |
353 $this->assertTrue(Validation::cc('180010559353736', array('jcb'))); | |
354 $this->assertTrue(Validation::cc('210095474464258', array('jcb'))); | |
355 $this->assertTrue(Validation::cc('210006675562188', array('jcb'))); | |
356 $this->assertTrue(Validation::cc('210063299662662', array('jcb'))); | |
357 $this->assertTrue(Validation::cc('180032506857825', array('jcb'))); | |
358 $this->assertTrue(Validation::cc('210057919192738', array('jcb'))); | |
359 $this->assertTrue(Validation::cc('180031358949367', array('jcb'))); | |
360 $this->assertTrue(Validation::cc('180033802147846', array('jcb'))); | |
361 //JCB 16 digit | |
362 $this->assertTrue(Validation::cc('3096806857839939', array('jcb'))); | |
363 $this->assertTrue(Validation::cc('3158699503187091', array('jcb'))); | |
364 $this->assertTrue(Validation::cc('3112549607186579', array('jcb'))); | |
365 $this->assertTrue(Validation::cc('3112332922425604', array('jcb'))); | |
366 $this->assertTrue(Validation::cc('3112001541159239', array('jcb'))); | |
367 $this->assertTrue(Validation::cc('3112162495317841', array('jcb'))); | |
368 $this->assertTrue(Validation::cc('3337562627732768', array('jcb'))); | |
369 $this->assertTrue(Validation::cc('3337107161330775', array('jcb'))); | |
370 $this->assertTrue(Validation::cc('3528053736003621', array('jcb'))); | |
371 $this->assertTrue(Validation::cc('3528915255020360', array('jcb'))); | |
372 $this->assertTrue(Validation::cc('3096786059660921', array('jcb'))); | |
373 $this->assertTrue(Validation::cc('3528264799292320', array('jcb'))); | |
374 $this->assertTrue(Validation::cc('3096469164130136', array('jcb'))); | |
375 $this->assertTrue(Validation::cc('3112127443822853', array('jcb'))); | |
376 $this->assertTrue(Validation::cc('3096849995802328', array('jcb'))); | |
377 $this->assertTrue(Validation::cc('3528090735127407', array('jcb'))); | |
378 $this->assertTrue(Validation::cc('3112101006819234', array('jcb'))); | |
379 $this->assertTrue(Validation::cc('3337444428040784', array('jcb'))); | |
380 $this->assertTrue(Validation::cc('3088043154151061', array('jcb'))); | |
381 $this->assertTrue(Validation::cc('3088295969414866', array('jcb'))); | |
382 $this->assertTrue(Validation::cc('3158748843158575', array('jcb'))); | |
383 $this->assertTrue(Validation::cc('3158709206148538', array('jcb'))); | |
384 $this->assertTrue(Validation::cc('3158365159575324', array('jcb'))); | |
385 $this->assertTrue(Validation::cc('3158671691305165', array('jcb'))); | |
386 $this->assertTrue(Validation::cc('3528523028771093', array('jcb'))); | |
387 $this->assertTrue(Validation::cc('3096057126267870', array('jcb'))); | |
388 $this->assertTrue(Validation::cc('3158514047166834', array('jcb'))); | |
389 $this->assertTrue(Validation::cc('3528274546125962', array('jcb'))); | |
390 $this->assertTrue(Validation::cc('3528890967705733', array('jcb'))); | |
391 $this->assertTrue(Validation::cc('3337198811307545', array('jcb'))); | |
392 //Maestro (debit card) | |
393 $this->assertTrue(Validation::cc('5020147409985219', array('maestro'))); | |
394 $this->assertTrue(Validation::cc('5020931809905616', array('maestro'))); | |
395 $this->assertTrue(Validation::cc('5020412965470224', array('maestro'))); | |
396 $this->assertTrue(Validation::cc('5020129740944022', array('maestro'))); | |
397 $this->assertTrue(Validation::cc('5020024696747943', array('maestro'))); | |
398 $this->assertTrue(Validation::cc('5020581514636509', array('maestro'))); | |
399 $this->assertTrue(Validation::cc('5020695008411987', array('maestro'))); | |
400 $this->assertTrue(Validation::cc('5020565359718977', array('maestro'))); | |
401 $this->assertTrue(Validation::cc('6339931536544062', array('maestro'))); | |
402 $this->assertTrue(Validation::cc('6465028615704406', array('maestro'))); | |
403 //Mastercard | |
404 $this->assertTrue(Validation::cc('5580424361774366', array('mc'))); | |
405 $this->assertTrue(Validation::cc('5589563059318282', array('mc'))); | |
406 $this->assertTrue(Validation::cc('5387558333690047', array('mc'))); | |
407 $this->assertTrue(Validation::cc('5163919215247175', array('mc'))); | |
408 $this->assertTrue(Validation::cc('5386742685055055', array('mc'))); | |
409 $this->assertTrue(Validation::cc('5102303335960674', array('mc'))); | |
410 $this->assertTrue(Validation::cc('5526543403964565', array('mc'))); | |
411 $this->assertTrue(Validation::cc('5538725892618432', array('mc'))); | |
412 $this->assertTrue(Validation::cc('5119543573129778', array('mc'))); | |
413 $this->assertTrue(Validation::cc('5391174753915767', array('mc'))); | |
414 $this->assertTrue(Validation::cc('5510994113980714', array('mc'))); | |
415 $this->assertTrue(Validation::cc('5183720260418091', array('mc'))); | |
416 $this->assertTrue(Validation::cc('5488082196086704', array('mc'))); | |
417 $this->assertTrue(Validation::cc('5484645164161834', array('mc'))); | |
418 $this->assertTrue(Validation::cc('5171254350337031', array('mc'))); | |
419 $this->assertTrue(Validation::cc('5526987528136452', array('mc'))); | |
420 $this->assertTrue(Validation::cc('5504148941409358', array('mc'))); | |
421 $this->assertTrue(Validation::cc('5240793507243615', array('mc'))); | |
422 $this->assertTrue(Validation::cc('5162114693017107', array('mc'))); | |
423 $this->assertTrue(Validation::cc('5163104807404753', array('mc'))); | |
424 $this->assertTrue(Validation::cc('5590136167248365', array('mc'))); | |
425 $this->assertTrue(Validation::cc('5565816281038948', array('mc'))); | |
426 $this->assertTrue(Validation::cc('5467639122779531', array('mc'))); | |
427 $this->assertTrue(Validation::cc('5297350261550024', array('mc'))); | |
428 $this->assertTrue(Validation::cc('5162739131368058', array('mc'))); | |
429 //Solo 16 | |
430 $this->assertTrue(Validation::cc('6767432107064987', array('solo'))); | |
431 $this->assertTrue(Validation::cc('6334667758225411', array('solo'))); | |
432 $this->assertTrue(Validation::cc('6767037421954068', array('solo'))); | |
433 $this->assertTrue(Validation::cc('6767823306394854', array('solo'))); | |
434 $this->assertTrue(Validation::cc('6334768185398134', array('solo'))); | |
435 $this->assertTrue(Validation::cc('6767286729498589', array('solo'))); | |
436 $this->assertTrue(Validation::cc('6334972104431261', array('solo'))); | |
437 $this->assertTrue(Validation::cc('6334843427400616', array('solo'))); | |
438 $this->assertTrue(Validation::cc('6767493947881311', array('solo'))); | |
439 $this->assertTrue(Validation::cc('6767194235798817', array('solo'))); | |
440 //Solo 18 | |
441 $this->assertTrue(Validation::cc('676714834398858593', array('solo'))); | |
442 $this->assertTrue(Validation::cc('676751666435130857', array('solo'))); | |
443 $this->assertTrue(Validation::cc('676781908573924236', array('solo'))); | |
444 $this->assertTrue(Validation::cc('633488724644003240', array('solo'))); | |
445 $this->assertTrue(Validation::cc('676732252338067316', array('solo'))); | |
446 $this->assertTrue(Validation::cc('676747520084495821', array('solo'))); | |
447 $this->assertTrue(Validation::cc('633465488901381957', array('solo'))); | |
448 $this->assertTrue(Validation::cc('633487484858610484', array('solo'))); | |
449 $this->assertTrue(Validation::cc('633453764680740694', array('solo'))); | |
450 $this->assertTrue(Validation::cc('676768613295414451', array('solo'))); | |
451 //Solo 19 | |
452 $this->assertTrue(Validation::cc('6767838565218340113', array('solo'))); | |
453 $this->assertTrue(Validation::cc('6767760119829705181', array('solo'))); | |
454 $this->assertTrue(Validation::cc('6767265917091593668', array('solo'))); | |
455 $this->assertTrue(Validation::cc('6767938856947440111', array('solo'))); | |
456 $this->assertTrue(Validation::cc('6767501945697390076', array('solo'))); | |
457 $this->assertTrue(Validation::cc('6334902868716257379', array('solo'))); | |
458 $this->assertTrue(Validation::cc('6334922127686425532', array('solo'))); | |
459 $this->assertTrue(Validation::cc('6334933119080706440', array('solo'))); | |
460 $this->assertTrue(Validation::cc('6334647959628261714', array('solo'))); | |
461 $this->assertTrue(Validation::cc('6334527312384101382', array('solo'))); | |
462 //Switch 16 | |
463 $this->assertTrue(Validation::cc('5641829171515733', array('switch'))); | |
464 $this->assertTrue(Validation::cc('5641824852820809', array('switch'))); | |
465 $this->assertTrue(Validation::cc('6759129648956909', array('switch'))); | |
466 $this->assertTrue(Validation::cc('6759626072268156', array('switch'))); | |
467 $this->assertTrue(Validation::cc('5641822698388957', array('switch'))); | |
468 $this->assertTrue(Validation::cc('5641827123105470', array('switch'))); | |
469 $this->assertTrue(Validation::cc('5641823755819553', array('switch'))); | |
470 $this->assertTrue(Validation::cc('5641821939587682', array('switch'))); | |
471 $this->assertTrue(Validation::cc('4936097148079186', array('switch'))); | |
472 $this->assertTrue(Validation::cc('5641829739125009', array('switch'))); | |
473 $this->assertTrue(Validation::cc('5641822860725507', array('switch'))); | |
474 $this->assertTrue(Validation::cc('4936717688865831', array('switch'))); | |
475 $this->assertTrue(Validation::cc('6759487613615441', array('switch'))); | |
476 $this->assertTrue(Validation::cc('5641821346840617', array('switch'))); | |
477 $this->assertTrue(Validation::cc('5641825793417126', array('switch'))); | |
478 $this->assertTrue(Validation::cc('5641821302759595', array('switch'))); | |
479 $this->assertTrue(Validation::cc('6759784969918837', array('switch'))); | |
480 $this->assertTrue(Validation::cc('5641824910667036', array('switch'))); | |
481 $this->assertTrue(Validation::cc('6759139909636173', array('switch'))); | |
482 $this->assertTrue(Validation::cc('6333425070638022', array('switch'))); | |
483 $this->assertTrue(Validation::cc('5641823910382067', array('switch'))); | |
484 $this->assertTrue(Validation::cc('4936295218139423', array('switch'))); | |
485 $this->assertTrue(Validation::cc('6333031811316199', array('switch'))); | |
486 $this->assertTrue(Validation::cc('4936912044763198', array('switch'))); | |
487 $this->assertTrue(Validation::cc('4936387053303824', array('switch'))); | |
488 $this->assertTrue(Validation::cc('6759535838760523', array('switch'))); | |
489 $this->assertTrue(Validation::cc('6333427174594051', array('switch'))); | |
490 $this->assertTrue(Validation::cc('5641829037102700', array('switch'))); | |
491 $this->assertTrue(Validation::cc('5641826495463046', array('switch'))); | |
492 $this->assertTrue(Validation::cc('6333480852979946', array('switch'))); | |
493 $this->assertTrue(Validation::cc('5641827761302876', array('switch'))); | |
494 $this->assertTrue(Validation::cc('5641825083505317', array('switch'))); | |
495 $this->assertTrue(Validation::cc('6759298096003991', array('switch'))); | |
496 $this->assertTrue(Validation::cc('4936119165483420', array('switch'))); | |
497 $this->assertTrue(Validation::cc('4936190990500993', array('switch'))); | |
498 $this->assertTrue(Validation::cc('4903356467384927', array('switch'))); | |
499 $this->assertTrue(Validation::cc('6333372765092554', array('switch'))); | |
500 $this->assertTrue(Validation::cc('5641821330950570', array('switch'))); | |
501 $this->assertTrue(Validation::cc('6759841558826118', array('switch'))); | |
502 $this->assertTrue(Validation::cc('4936164540922452', array('switch'))); | |
503 //Switch 18 | |
504 $this->assertTrue(Validation::cc('493622764224625174', array('switch'))); | |
505 $this->assertTrue(Validation::cc('564182823396913535', array('switch'))); | |
506 $this->assertTrue(Validation::cc('675917308304801234', array('switch'))); | |
507 $this->assertTrue(Validation::cc('675919890024220298', array('switch'))); | |
508 $this->assertTrue(Validation::cc('633308376862556751', array('switch'))); | |
509 $this->assertTrue(Validation::cc('564182377633208779', array('switch'))); | |
510 $this->assertTrue(Validation::cc('564182870014926787', array('switch'))); | |
511 $this->assertTrue(Validation::cc('675979788553829819', array('switch'))); | |
512 $this->assertTrue(Validation::cc('493668394358130935', array('switch'))); | |
513 $this->assertTrue(Validation::cc('493637431790930965', array('switch'))); | |
514 $this->assertTrue(Validation::cc('633321438601941513', array('switch'))); | |
515 $this->assertTrue(Validation::cc('675913800898840986', array('switch'))); | |
516 $this->assertTrue(Validation::cc('564182592016841547', array('switch'))); | |
517 $this->assertTrue(Validation::cc('564182428380440899', array('switch'))); | |
518 $this->assertTrue(Validation::cc('493696376827623463', array('switch'))); | |
519 $this->assertTrue(Validation::cc('675977939286485757', array('switch'))); | |
520 $this->assertTrue(Validation::cc('490302699502091579', array('switch'))); | |
521 $this->assertTrue(Validation::cc('564182085013662230', array('switch'))); | |
522 $this->assertTrue(Validation::cc('493693054263310167', array('switch'))); | |
523 $this->assertTrue(Validation::cc('633321755966697525', array('switch'))); | |
524 $this->assertTrue(Validation::cc('675996851719732811', array('switch'))); | |
525 $this->assertTrue(Validation::cc('493699211208281028', array('switch'))); | |
526 $this->assertTrue(Validation::cc('493697817378356614', array('switch'))); | |
527 $this->assertTrue(Validation::cc('675968224161768150', array('switch'))); | |
528 $this->assertTrue(Validation::cc('493669416873337627', array('switch'))); | |
529 $this->assertTrue(Validation::cc('564182439172549714', array('switch'))); | |
530 $this->assertTrue(Validation::cc('675926914467673598', array('switch'))); | |
531 $this->assertTrue(Validation::cc('564182565231977809', array('switch'))); | |
532 $this->assertTrue(Validation::cc('675966282607849002', array('switch'))); | |
533 $this->assertTrue(Validation::cc('493691609704348548', array('switch'))); | |
534 $this->assertTrue(Validation::cc('675933118546065120', array('switch'))); | |
535 $this->assertTrue(Validation::cc('493631116677238592', array('switch'))); | |
536 $this->assertTrue(Validation::cc('675921142812825938', array('switch'))); | |
537 $this->assertTrue(Validation::cc('633338311815675113', array('switch'))); | |
538 $this->assertTrue(Validation::cc('633323539867338621', array('switch'))); | |
539 $this->assertTrue(Validation::cc('675964912740845663', array('switch'))); | |
540 $this->assertTrue(Validation::cc('633334008833727504', array('switch'))); | |
541 $this->assertTrue(Validation::cc('493631941273687169', array('switch'))); | |
542 $this->assertTrue(Validation::cc('564182971729706785', array('switch'))); | |
543 $this->assertTrue(Validation::cc('633303461188963496', array('switch'))); | |
544 //Switch 19 | |
545 $this->assertTrue(Validation::cc('6759603460617628716', array('switch'))); | |
546 $this->assertTrue(Validation::cc('4936705825268647681', array('switch'))); | |
547 $this->assertTrue(Validation::cc('5641829846600479183', array('switch'))); | |
548 $this->assertTrue(Validation::cc('6759389846573792530', array('switch'))); | |
549 $this->assertTrue(Validation::cc('4936189558712637603', array('switch'))); | |
550 $this->assertTrue(Validation::cc('5641822217393868189', array('switch'))); | |
551 $this->assertTrue(Validation::cc('4903075563780057152', array('switch'))); | |
552 $this->assertTrue(Validation::cc('4936510653566569547', array('switch'))); | |
553 $this->assertTrue(Validation::cc('4936503083627303364', array('switch'))); | |
554 $this->assertTrue(Validation::cc('4936777334398116272', array('switch'))); | |
555 $this->assertTrue(Validation::cc('5641823876900554860', array('switch'))); | |
556 $this->assertTrue(Validation::cc('6759619236903407276', array('switch'))); | |
557 $this->assertTrue(Validation::cc('6759011470269978117', array('switch'))); | |
558 $this->assertTrue(Validation::cc('6333175833997062502', array('switch'))); | |
559 $this->assertTrue(Validation::cc('6759498728789080439', array('switch'))); | |
560 $this->assertTrue(Validation::cc('4903020404168157841', array('switch'))); | |
561 $this->assertTrue(Validation::cc('6759354334874804313', array('switch'))); | |
562 $this->assertTrue(Validation::cc('6759900856420875115', array('switch'))); | |
563 $this->assertTrue(Validation::cc('5641827269346868860', array('switch'))); | |
564 $this->assertTrue(Validation::cc('5641828995047453870', array('switch'))); | |
565 $this->assertTrue(Validation::cc('6333321884754806543', array('switch'))); | |
566 $this->assertTrue(Validation::cc('6333108246283715901', array('switch'))); | |
567 $this->assertTrue(Validation::cc('6759572372800700102', array('switch'))); | |
568 $this->assertTrue(Validation::cc('4903095096797974933', array('switch'))); | |
569 $this->assertTrue(Validation::cc('6333354315797920215', array('switch'))); | |
570 $this->assertTrue(Validation::cc('6759163746089433755', array('switch'))); | |
571 $this->assertTrue(Validation::cc('6759871666634807647', array('switch'))); | |
572 $this->assertTrue(Validation::cc('5641827883728575248', array('switch'))); | |
573 $this->assertTrue(Validation::cc('4936527975051407847', array('switch'))); | |
574 $this->assertTrue(Validation::cc('5641823318396882141', array('switch'))); | |
575 $this->assertTrue(Validation::cc('6759123772311123708', array('switch'))); | |
576 $this->assertTrue(Validation::cc('4903054736148271088', array('switch'))); | |
577 $this->assertTrue(Validation::cc('4936477526808883952', array('switch'))); | |
578 $this->assertTrue(Validation::cc('4936433964890967966', array('switch'))); | |
579 $this->assertTrue(Validation::cc('6333245128906049344', array('switch'))); | |
580 $this->assertTrue(Validation::cc('4936321036970553134', array('switch'))); | |
581 $this->assertTrue(Validation::cc('4936111816358702773', array('switch'))); | |
582 $this->assertTrue(Validation::cc('4936196077254804290', array('switch'))); | |
583 $this->assertTrue(Validation::cc('6759558831206830183', array('switch'))); | |
584 $this->assertTrue(Validation::cc('5641827998830403137', array('switch'))); | |
585 //VISA 13 digit | |
586 $this->assertTrue(Validation::cc('4024007174754', array('visa'))); | |
587 $this->assertTrue(Validation::cc('4104816460717', array('visa'))); | |
588 $this->assertTrue(Validation::cc('4716229700437', array('visa'))); | |
589 $this->assertTrue(Validation::cc('4539305400213', array('visa'))); | |
590 $this->assertTrue(Validation::cc('4728260558665', array('visa'))); | |
591 $this->assertTrue(Validation::cc('4929100131792', array('visa'))); | |
592 $this->assertTrue(Validation::cc('4024007117308', array('visa'))); | |
593 $this->assertTrue(Validation::cc('4539915491024', array('visa'))); | |
594 $this->assertTrue(Validation::cc('4539790901139', array('visa'))); | |
595 $this->assertTrue(Validation::cc('4485284914909', array('visa'))); | |
596 $this->assertTrue(Validation::cc('4782793022350', array('visa'))); | |
597 $this->assertTrue(Validation::cc('4556899290685', array('visa'))); | |
598 $this->assertTrue(Validation::cc('4024007134774', array('visa'))); | |
599 $this->assertTrue(Validation::cc('4333412341316', array('visa'))); | |
600 $this->assertTrue(Validation::cc('4539534204543', array('visa'))); | |
601 $this->assertTrue(Validation::cc('4485640373626', array('visa'))); | |
602 $this->assertTrue(Validation::cc('4929911445746', array('visa'))); | |
603 $this->assertTrue(Validation::cc('4539292550806', array('visa'))); | |
604 $this->assertTrue(Validation::cc('4716523014030', array('visa'))); | |
605 $this->assertTrue(Validation::cc('4024007125152', array('visa'))); | |
606 $this->assertTrue(Validation::cc('4539758883311', array('visa'))); | |
607 $this->assertTrue(Validation::cc('4024007103258', array('visa'))); | |
608 $this->assertTrue(Validation::cc('4916933155767', array('visa'))); | |
609 $this->assertTrue(Validation::cc('4024007159672', array('visa'))); | |
610 $this->assertTrue(Validation::cc('4716935544871', array('visa'))); | |
611 $this->assertTrue(Validation::cc('4929415177779', array('visa'))); | |
612 $this->assertTrue(Validation::cc('4929748547896', array('visa'))); | |
613 $this->assertTrue(Validation::cc('4929153468612', array('visa'))); | |
614 $this->assertTrue(Validation::cc('4539397132104', array('visa'))); | |
615 $this->assertTrue(Validation::cc('4485293435540', array('visa'))); | |
616 $this->assertTrue(Validation::cc('4485799412720', array('visa'))); | |
617 $this->assertTrue(Validation::cc('4916744757686', array('visa'))); | |
618 $this->assertTrue(Validation::cc('4556475655426', array('visa'))); | |
619 $this->assertTrue(Validation::cc('4539400441625', array('visa'))); | |
620 $this->assertTrue(Validation::cc('4485437129173', array('visa'))); | |
621 $this->assertTrue(Validation::cc('4716253605320', array('visa'))); | |
622 $this->assertTrue(Validation::cc('4539366156589', array('visa'))); | |
623 $this->assertTrue(Validation::cc('4916498061392', array('visa'))); | |
624 $this->assertTrue(Validation::cc('4716127163779', array('visa'))); | |
625 $this->assertTrue(Validation::cc('4024007183078', array('visa'))); | |
626 $this->assertTrue(Validation::cc('4041553279654', array('visa'))); | |
627 $this->assertTrue(Validation::cc('4532380121960', array('visa'))); | |
628 $this->assertTrue(Validation::cc('4485906062491', array('visa'))); | |
629 $this->assertTrue(Validation::cc('4539365115149', array('visa'))); | |
630 $this->assertTrue(Validation::cc('4485146516702', array('visa'))); | |
631 //VISA 16 digit | |
632 $this->assertTrue(Validation::cc('4916375389940009', array('visa'))); | |
633 $this->assertTrue(Validation::cc('4929167481032610', array('visa'))); | |
634 $this->assertTrue(Validation::cc('4485029969061519', array('visa'))); | |
635 $this->assertTrue(Validation::cc('4485573845281759', array('visa'))); | |
636 $this->assertTrue(Validation::cc('4485669810383529', array('visa'))); | |
637 $this->assertTrue(Validation::cc('4929615806560327', array('visa'))); | |
638 $this->assertTrue(Validation::cc('4556807505609535', array('visa'))); | |
639 $this->assertTrue(Validation::cc('4532611336232890', array('visa'))); | |
640 $this->assertTrue(Validation::cc('4532201952422387', array('visa'))); | |
641 $this->assertTrue(Validation::cc('4485073797976290', array('visa'))); | |
642 $this->assertTrue(Validation::cc('4024007157580969', array('visa'))); | |
643 $this->assertTrue(Validation::cc('4053740470212274', array('visa'))); | |
644 $this->assertTrue(Validation::cc('4716265831525676', array('visa'))); | |
645 $this->assertTrue(Validation::cc('4024007100222966', array('visa'))); | |
646 $this->assertTrue(Validation::cc('4539556148303244', array('visa'))); | |
647 $this->assertTrue(Validation::cc('4532449879689709', array('visa'))); | |
648 $this->assertTrue(Validation::cc('4916805467840986', array('visa'))); | |
649 $this->assertTrue(Validation::cc('4532155644440233', array('visa'))); | |
650 $this->assertTrue(Validation::cc('4467977802223781', array('visa'))); | |
651 $this->assertTrue(Validation::cc('4539224637000686', array('visa'))); | |
652 $this->assertTrue(Validation::cc('4556629187064965', array('visa'))); | |
653 $this->assertTrue(Validation::cc('4532970205932943', array('visa'))); | |
654 $this->assertTrue(Validation::cc('4821470132041850', array('visa'))); | |
655 $this->assertTrue(Validation::cc('4916214267894485', array('visa'))); | |
656 $this->assertTrue(Validation::cc('4024007169073284', array('visa'))); | |
657 $this->assertTrue(Validation::cc('4716783351296122', array('visa'))); | |
658 $this->assertTrue(Validation::cc('4556480171913795', array('visa'))); | |
659 $this->assertTrue(Validation::cc('4929678411034997', array('visa'))); | |
660 $this->assertTrue(Validation::cc('4682061913519392', array('visa'))); | |
661 $this->assertTrue(Validation::cc('4916495481746474', array('visa'))); | |
662 $this->assertTrue(Validation::cc('4929007108460499', array('visa'))); | |
663 $this->assertTrue(Validation::cc('4539951357838586', array('visa'))); | |
664 $this->assertTrue(Validation::cc('4716482691051558', array('visa'))); | |
665 $this->assertTrue(Validation::cc('4916385069917516', array('visa'))); | |
666 $this->assertTrue(Validation::cc('4929020289494641', array('visa'))); | |
667 $this->assertTrue(Validation::cc('4532176245263774', array('visa'))); | |
668 $this->assertTrue(Validation::cc('4556242273553949', array('visa'))); | |
669 $this->assertTrue(Validation::cc('4481007485188614', array('visa'))); | |
670 $this->assertTrue(Validation::cc('4716533372139623', array('visa'))); | |
671 $this->assertTrue(Validation::cc('4929152038152632', array('visa'))); | |
672 $this->assertTrue(Validation::cc('4539404037310550', array('visa'))); | |
673 $this->assertTrue(Validation::cc('4532800925229140', array('visa'))); | |
674 $this->assertTrue(Validation::cc('4916845885268360', array('visa'))); | |
675 $this->assertTrue(Validation::cc('4394514669078434', array('visa'))); | |
676 $this->assertTrue(Validation::cc('4485611378115042', array('visa'))); | |
677 //Visa Electron | |
678 $this->assertTrue(Validation::cc('4175003346287100', array('electron'))); | |
679 $this->assertTrue(Validation::cc('4913042516577228', array('electron'))); | |
680 $this->assertTrue(Validation::cc('4917592325659381', array('electron'))); | |
681 $this->assertTrue(Validation::cc('4917084924450511', array('electron'))); | |
682 $this->assertTrue(Validation::cc('4917994610643999', array('electron'))); | |
683 $this->assertTrue(Validation::cc('4175005933743585', array('electron'))); | |
684 $this->assertTrue(Validation::cc('4175008373425044', array('electron'))); | |
685 $this->assertTrue(Validation::cc('4913119763664154', array('electron'))); | |
686 $this->assertTrue(Validation::cc('4913189017481812', array('electron'))); | |
687 $this->assertTrue(Validation::cc('4913085104968622', array('electron'))); | |
688 $this->assertTrue(Validation::cc('4175008803122021', array('electron'))); | |
689 $this->assertTrue(Validation::cc('4913294453962489', array('electron'))); | |
690 $this->assertTrue(Validation::cc('4175009797419290', array('electron'))); | |
691 $this->assertTrue(Validation::cc('4175005028142917', array('electron'))); | |
692 $this->assertTrue(Validation::cc('4913940802385364', array('electron'))); | |
693 //Voyager | |
694 $this->assertTrue(Validation::cc('869940697287073', array('voyager'))); | |
695 $this->assertTrue(Validation::cc('869934523596112', array('voyager'))); | |
696 $this->assertTrue(Validation::cc('869958670174621', array('voyager'))); | |
697 $this->assertTrue(Validation::cc('869921250068209', array('voyager'))); | |
698 $this->assertTrue(Validation::cc('869972521242198', array('voyager'))); | |
699 } | |
700 | |
701 /** | |
702 * testLuhn method | |
703 * | |
704 * @access public | |
705 * @return void | |
706 */ | |
707 function testLuhn() { | |
708 $this->Validation->deep = true; | |
709 | |
710 //American Express | |
711 $this->Validation->check = '370482756063980'; | |
712 $this->assertTrue($this->Validation->_luhn()); | |
713 //BankCard | |
714 $this->Validation->check = '5610745867413420'; | |
715 $this->assertTrue($this->Validation->_luhn()); | |
716 //Diners Club 14 | |
717 $this->Validation->check = '30155483651028'; | |
718 $this->assertTrue($this->Validation->_luhn()); | |
719 //2004 MasterCard/Diners Club Alliance International 14 | |
720 $this->Validation->check = '36747701998969'; | |
721 $this->assertTrue($this->Validation->_luhn()); | |
722 //2004 MasterCard/Diners Club Alliance US & Canada 16 | |
723 $this->Validation->check = '5597511346169950'; | |
724 $this->assertTrue($this->Validation->_luhn()); | |
725 //Discover | |
726 $this->Validation->check = '6011802876467237'; | |
727 $this->assertTrue($this->Validation->_luhn()); | |
728 //enRoute | |
729 $this->Validation->check = '201496944158937'; | |
730 $this->assertTrue($this->Validation->_luhn()); | |
731 //JCB 15 digit | |
732 $this->Validation->check = '210034762247893'; | |
733 $this->assertTrue($this->Validation->_luhn()); | |
734 //JCB 16 digit | |
735 $this->Validation->check = '3096806857839939'; | |
736 $this->assertTrue($this->Validation->_luhn()); | |
737 //Maestro (debit card) | |
738 $this->Validation->check = '5020147409985219'; | |
739 $this->assertTrue($this->Validation->_luhn()); | |
740 //Mastercard | |
741 $this->Validation->check = '5580424361774366'; | |
742 $this->assertTrue($this->Validation->_luhn()); | |
743 //Solo 16 | |
744 $this->Validation->check = '6767432107064987'; | |
745 $this->assertTrue($this->Validation->_luhn()); | |
746 //Solo 18 | |
747 $this->Validation->check = '676714834398858593'; | |
748 $this->assertTrue($this->Validation->_luhn()); | |
749 //Solo 19 | |
750 $this->Validation->check = '6767838565218340113'; | |
751 $this->assertTrue($this->Validation->_luhn()); | |
752 //Switch 16 | |
753 $this->Validation->check = '5641829171515733'; | |
754 $this->assertTrue($this->Validation->_luhn()); | |
755 //Switch 18 | |
756 $this->Validation->check = '493622764224625174'; | |
757 $this->assertTrue($this->Validation->_luhn()); | |
758 //Switch 19 | |
759 $this->Validation->check = '6759603460617628716'; | |
760 $this->assertTrue($this->Validation->_luhn()); | |
761 //VISA 13 digit | |
762 $this->Validation->check = '4024007174754'; | |
763 $this->assertTrue($this->Validation->_luhn()); | |
764 //VISA 16 digit | |
765 $this->Validation->check = '4916375389940009'; | |
766 $this->assertTrue($this->Validation->_luhn()); | |
767 //Visa Electron | |
768 $this->Validation->check = '4175003346287100'; | |
769 $this->assertTrue($this->Validation->_luhn()); | |
770 //Voyager | |
771 $this->Validation->check = '869940697287073'; | |
772 $this->assertTrue($this->Validation->_luhn()); | |
773 | |
774 $this->Validation->check = '0000000000000000'; | |
775 $this->assertFalse($this->Validation->_luhn()); | |
776 | |
777 $this->Validation->check = '869940697287173'; | |
778 $this->assertFalse($this->Validation->_luhn()); | |
779 } | |
780 | |
781 /** | |
782 * testCustomRegexForCc method | |
783 * | |
784 * @access public | |
785 * @return void | |
786 */ | |
787 function testCustomRegexForCc() { | |
788 $this->assertTrue(Validation::cc('12332105933743585', null, null, '/123321\\d{11}/')); | |
789 $this->assertFalse(Validation::cc('1233210593374358', null, null, '/123321\\d{11}/')); | |
790 $this->assertFalse(Validation::cc('12312305933743585', null, null, '/123321\\d{11}/')); | |
791 } | |
792 | |
793 /** | |
794 * testCustomRegexForCcWithLuhnCheck method | |
795 * | |
796 * @access public | |
797 * @return void | |
798 */ | |
799 function testCustomRegexForCcWithLuhnCheck() { | |
800 $this->assertTrue(Validation::cc('12332110426226941', null, true, '/123321\\d{11}/')); | |
801 $this->assertFalse(Validation::cc('12332105933743585', null, true, '/123321\\d{11}/')); | |
802 $this->assertFalse(Validation::cc('12332105933743587', null, true, '/123321\\d{11}/')); | |
803 $this->assertFalse(Validation::cc('12312305933743585', null, true, '/123321\\d{11}/')); | |
804 } | |
805 | |
806 /** | |
807 * testFastCc method | |
808 * | |
809 * @access public | |
810 * @return void | |
811 */ | |
812 function testFastCc() { | |
813 // too short | |
814 $this->assertFalse(Validation::cc('123456789012')); | |
815 //American Express | |
816 $this->assertTrue(Validation::cc('370482756063980')); | |
817 //Diners Club 14 | |
818 $this->assertTrue(Validation::cc('30155483651028')); | |
819 //2004 MasterCard/Diners Club Alliance International 14 | |
820 $this->assertTrue(Validation::cc('36747701998969')); | |
821 //2004 MasterCard/Diners Club Alliance US & Canada 16 | |
822 $this->assertTrue(Validation::cc('5597511346169950')); | |
823 //Discover | |
824 $this->assertTrue(Validation::cc('6011802876467237')); | |
825 //Mastercard | |
826 $this->assertTrue(Validation::cc('5580424361774366')); | |
827 //VISA 13 digit | |
828 $this->assertTrue(Validation::cc('4024007174754')); | |
829 //VISA 16 digit | |
830 $this->assertTrue(Validation::cc('4916375389940009')); | |
831 //Visa Electron | |
832 $this->assertTrue(Validation::cc('4175003346287100')); | |
833 } | |
834 | |
835 /** | |
836 * testAllCc method | |
837 * | |
838 * @access public | |
839 * @return void | |
840 */ | |
841 function testAllCc() { | |
842 //American Express | |
843 $this->assertTrue(Validation::cc('370482756063980', 'all')); | |
844 //BankCard | |
845 $this->assertTrue(Validation::cc('5610745867413420', 'all')); | |
846 //Diners Club 14 | |
847 $this->assertTrue(Validation::cc('30155483651028', 'all')); | |
848 //2004 MasterCard/Diners Club Alliance International 14 | |
849 $this->assertTrue(Validation::cc('36747701998969', 'all')); | |
850 //2004 MasterCard/Diners Club Alliance US & Canada 16 | |
851 $this->assertTrue(Validation::cc('5597511346169950', 'all')); | |
852 //Discover | |
853 $this->assertTrue(Validation::cc('6011802876467237', 'all')); | |
854 //enRoute | |
855 $this->assertTrue(Validation::cc('201496944158937', 'all')); | |
856 //JCB 15 digit | |
857 $this->assertTrue(Validation::cc('210034762247893', 'all')); | |
858 //JCB 16 digit | |
859 $this->assertTrue(Validation::cc('3096806857839939', 'all')); | |
860 //Maestro (debit card) | |
861 $this->assertTrue(Validation::cc('5020147409985219', 'all')); | |
862 //Mastercard | |
863 $this->assertTrue(Validation::cc('5580424361774366', 'all')); | |
864 //Solo 16 | |
865 $this->assertTrue(Validation::cc('6767432107064987', 'all')); | |
866 //Solo 18 | |
867 $this->assertTrue(Validation::cc('676714834398858593', 'all')); | |
868 //Solo 19 | |
869 $this->assertTrue(Validation::cc('6767838565218340113', 'all')); | |
870 //Switch 16 | |
871 $this->assertTrue(Validation::cc('5641829171515733', 'all')); | |
872 //Switch 18 | |
873 $this->assertTrue(Validation::cc('493622764224625174', 'all')); | |
874 //Switch 19 | |
875 $this->assertTrue(Validation::cc('6759603460617628716', 'all')); | |
876 //VISA 13 digit | |
877 $this->assertTrue(Validation::cc('4024007174754', 'all')); | |
878 //VISA 16 digit | |
879 $this->assertTrue(Validation::cc('4916375389940009', 'all')); | |
880 //Visa Electron | |
881 $this->assertTrue(Validation::cc('4175003346287100', 'all')); | |
882 //Voyager | |
883 $this->assertTrue(Validation::cc('869940697287073', 'all')); | |
884 } | |
885 | |
886 /** | |
887 * testAllCcDeep method | |
888 * | |
889 * @access public | |
890 * @return void | |
891 */ | |
892 function testAllCcDeep() { | |
893 //American Express | |
894 $this->assertTrue(Validation::cc('370482756063980', 'all', true)); | |
895 //BankCard | |
896 $this->assertTrue(Validation::cc('5610745867413420', 'all', true)); | |
897 //Diners Club 14 | |
898 $this->assertTrue(Validation::cc('30155483651028', 'all', true)); | |
899 //2004 MasterCard/Diners Club Alliance International 14 | |
900 $this->assertTrue(Validation::cc('36747701998969', 'all', true)); | |
901 //2004 MasterCard/Diners Club Alliance US & Canada 16 | |
902 $this->assertTrue(Validation::cc('5597511346169950', 'all', true)); | |
903 //Discover | |
904 $this->assertTrue(Validation::cc('6011802876467237', 'all', true)); | |
905 //enRoute | |
906 $this->assertTrue(Validation::cc('201496944158937', 'all', true)); | |
907 //JCB 15 digit | |
908 $this->assertTrue(Validation::cc('210034762247893', 'all', true)); | |
909 //JCB 16 digit | |
910 $this->assertTrue(Validation::cc('3096806857839939', 'all', true)); | |
911 //Maestro (debit card) | |
912 $this->assertTrue(Validation::cc('5020147409985219', 'all', true)); | |
913 //Mastercard | |
914 $this->assertTrue(Validation::cc('5580424361774366', 'all', true)); | |
915 //Solo 16 | |
916 $this->assertTrue(Validation::cc('6767432107064987', 'all', true)); | |
917 //Solo 18 | |
918 $this->assertTrue(Validation::cc('676714834398858593', 'all', true)); | |
919 //Solo 19 | |
920 $this->assertTrue(Validation::cc('6767838565218340113', 'all', true)); | |
921 //Switch 16 | |
922 $this->assertTrue(Validation::cc('5641829171515733', 'all', true)); | |
923 //Switch 18 | |
924 $this->assertTrue(Validation::cc('493622764224625174', 'all', true)); | |
925 //Switch 19 | |
926 $this->assertTrue(Validation::cc('6759603460617628716', 'all', true)); | |
927 //VISA 13 digit | |
928 $this->assertTrue(Validation::cc('4024007174754', 'all', true)); | |
929 //VISA 16 digit | |
930 $this->assertTrue(Validation::cc('4916375389940009', 'all', true)); | |
931 //Visa Electron | |
932 $this->assertTrue(Validation::cc('4175003346287100', 'all', true)); | |
933 //Voyager | |
934 $this->assertTrue(Validation::cc('869940697287073', 'all', true)); | |
935 } | |
936 | |
937 /** | |
938 * testComparison method | |
939 * | |
940 * @access public | |
941 * @return void | |
942 */ | |
943 function testComparison() { | |
944 $this->assertFalse(Validation::comparison(7, null, 6)); | |
945 $this->assertTrue(Validation::comparison(7, 'is greater', 6)); | |
946 $this->assertTrue(Validation::comparison(7, '>', 6)); | |
947 $this->assertTrue(Validation::comparison(6, 'is less', 7)); | |
948 $this->assertTrue(Validation::comparison(6, '<', 7)); | |
949 $this->assertTrue(Validation::comparison(7, 'greater or equal', 7)); | |
950 $this->assertTrue(Validation::comparison(7, '>=', 7)); | |
951 $this->assertTrue(Validation::comparison(7, 'greater or equal', 6)); | |
952 $this->assertTrue(Validation::comparison(7, '>=', 6)); | |
953 $this->assertTrue(Validation::comparison(6, 'less or equal', 7)); | |
954 $this->assertTrue(Validation::comparison(6, '<=', 7)); | |
955 $this->assertTrue(Validation::comparison(7, 'equal to', 7)); | |
956 $this->assertTrue(Validation::comparison(7, '==', 7)); | |
957 $this->assertTrue(Validation::comparison(7, 'not equal', 6)); | |
958 $this->assertTrue(Validation::comparison(7, '!=', 6)); | |
959 $this->assertFalse(Validation::comparison(6, 'is greater', 7)); | |
960 $this->assertFalse(Validation::comparison(6, '>', 7)); | |
961 $this->assertFalse(Validation::comparison(7, 'is less', 6)); | |
962 $this->assertFalse(Validation::comparison(7, '<', 6)); | |
963 $this->assertFalse(Validation::comparison(6, 'greater or equal', 7)); | |
964 $this->assertFalse(Validation::comparison(6, '>=', 7)); | |
965 $this->assertFalse(Validation::comparison(6, 'greater or equal', 7)); | |
966 $this->assertFalse(Validation::comparison(6, '>=', 7)); | |
967 $this->assertFalse(Validation::comparison(7, 'less or equal', 6)); | |
968 $this->assertFalse(Validation::comparison(7, '<=', 6)); | |
969 $this->assertFalse(Validation::comparison(7, 'equal to', 6)); | |
970 $this->assertFalse(Validation::comparison(7, '==', 6)); | |
971 $this->assertFalse(Validation::comparison(7, 'not equal', 7)); | |
972 $this->assertFalse(Validation::comparison(7, '!=', 7)); | |
973 } | |
974 | |
975 /** | |
976 * testComparisonAsArray method | |
977 * | |
978 * @access public | |
979 * @return void | |
980 */ | |
981 function testComparisonAsArray() { | |
982 $this->assertTrue(Validation::comparison(array('check1' => 7, 'operator' => 'is greater', 'check2' => 6))); | |
983 $this->assertTrue(Validation::comparison(array('check1' => 7, 'operator' => '>', 'check2' => 6))); | |
984 $this->assertTrue(Validation::comparison(array('check1' => 6, 'operator' => 'is less', 'check2' => 7))); | |
985 $this->assertTrue(Validation::comparison(array('check1' => 6, 'operator' => '<', 'check2' => 7))); | |
986 $this->assertTrue(Validation::comparison(array('check1' => 7, 'operator' => 'greater or equal', 'check2' => 7))); | |
987 $this->assertTrue(Validation::comparison(array('check1' => 7, 'operator' => '>=', 'check2' => 7))); | |
988 $this->assertTrue(Validation::comparison(array('check1' => 7, 'operator' => 'greater or equal','check2' => 6))); | |
989 $this->assertTrue(Validation::comparison(array('check1' => 7, 'operator' => '>=', 'check2' => 6))); | |
990 $this->assertTrue(Validation::comparison(array('check1' => 6, 'operator' => 'less or equal', 'check2' => 7))); | |
991 $this->assertTrue(Validation::comparison(array('check1' => 6, 'operator' => '<=', 'check2' => 7))); | |
992 $this->assertTrue(Validation::comparison(array('check1' => 7, 'operator' => 'equal to', 'check2' => 7))); | |
993 $this->assertTrue(Validation::comparison(array('check1' => 7, 'operator' => '==', 'check2' => 7))); | |
994 $this->assertTrue(Validation::comparison(array('check1' => 7, 'operator' => 'not equal', 'check2' => 6))); | |
995 $this->assertTrue(Validation::comparison(array('check1' => 7, 'operator' => '!=', 'check2' => 6))); | |
996 $this->assertFalse(Validation::comparison(array('check1' => 6, 'operator' => 'is greater', 'check2' => 7))); | |
997 $this->assertFalse(Validation::comparison(array('check1' => 6, 'operator' => '>', 'check2' => 7))); | |
998 $this->assertFalse(Validation::comparison(array('check1' => 7, 'operator' => 'is less', 'check2' => 6))); | |
999 $this->assertFalse(Validation::comparison(array('check1' => 7, 'operator' => '<', 'check2' => 6))); | |
1000 $this->assertFalse(Validation::comparison(array('check1' => 6, 'operator' => 'greater or equal', 'check2' => 7))); | |
1001 $this->assertFalse(Validation::comparison(array('check1' => 6, 'operator' => '>=', 'check2' => 7))); | |
1002 $this->assertFalse(Validation::comparison(array('check1' => 6, 'operator' => 'greater or equal', 'check2' => 7))); | |
1003 $this->assertFalse(Validation::comparison(array('check1' => 6, 'operator' => '>=', 'check2' => 7))); | |
1004 $this->assertFalse(Validation::comparison(array('check1' => 7, 'operator' => 'less or equal', 'check2' => 6))); | |
1005 $this->assertFalse(Validation::comparison(array('check1' => 7, 'operator' => '<=', 'check2' => 6))); | |
1006 $this->assertFalse(Validation::comparison(array('check1' => 7, 'operator' => 'equal to', 'check2' => 6))); | |
1007 $this->assertFalse(Validation::comparison(array('check1' => 7, 'operator' => '==','check2' => 6))); | |
1008 $this->assertFalse(Validation::comparison(array('check1' => 7, 'operator' => 'not equal', 'check2' => 7))); | |
1009 $this->assertFalse(Validation::comparison(array('check1' => 7, 'operator' => '!=', 'check2' => 7))); | |
1010 } | |
1011 | |
1012 /** | |
1013 * testCustom method | |
1014 * | |
1015 * @access public | |
1016 * @return void | |
1017 */ | |
1018 function testCustom() { | |
1019 $this->assertTrue(Validation::custom('12345', '/(?<!\\S)\\d++(?!\\S)/')); | |
1020 $this->assertFalse(Validation::custom('Text', '/(?<!\\S)\\d++(?!\\S)/')); | |
1021 $this->assertFalse(Validation::custom('123.45', '/(?<!\\S)\\d++(?!\\S)/')); | |
1022 $this->assertFalse(Validation::custom('missing regex')); | |
1023 } | |
1024 | |
1025 /** | |
1026 * testCustomAsArray method | |
1027 * | |
1028 * @access public | |
1029 * @return void | |
1030 */ | |
1031 function testCustomAsArray() { | |
1032 $this->assertTrue(Validation::custom(array('check' => '12345', 'regex' => '/(?<!\\S)\\d++(?!\\S)/'))); | |
1033 $this->assertFalse(Validation::custom(array('check' => 'Text', 'regex' => '/(?<!\\S)\\d++(?!\\S)/'))); | |
1034 $this->assertFalse(Validation::custom(array('check' => '123.45', 'regex' => '/(?<!\\S)\\d++(?!\\S)/'))); | |
1035 } | |
1036 | |
1037 /** | |
1038 * testDateDdmmyyyy method | |
1039 * | |
1040 * @access public | |
1041 * @return void | |
1042 */ | |
1043 function testDateDdmmyyyy() { | |
1044 $this->assertTrue(Validation::date('27-12-2006', array('dmy'))); | |
1045 $this->assertTrue(Validation::date('27.12.2006', array('dmy'))); | |
1046 $this->assertTrue(Validation::date('27/12/2006', array('dmy'))); | |
1047 $this->assertTrue(Validation::date('27 12 2006', array('dmy'))); | |
1048 $this->assertFalse(Validation::date('00-00-0000', array('dmy'))); | |
1049 $this->assertFalse(Validation::date('00.00.0000', array('dmy'))); | |
1050 $this->assertFalse(Validation::date('00/00/0000', array('dmy'))); | |
1051 $this->assertFalse(Validation::date('00 00 0000', array('dmy'))); | |
1052 $this->assertFalse(Validation::date('31-11-2006', array('dmy'))); | |
1053 $this->assertFalse(Validation::date('31.11.2006', array('dmy'))); | |
1054 $this->assertFalse(Validation::date('31/11/2006', array('dmy'))); | |
1055 $this->assertFalse(Validation::date('31 11 2006', array('dmy'))); | |
1056 } | |
1057 | |
1058 /** | |
1059 * testDateDdmmyyyyLeapYear method | |
1060 * | |
1061 * @access public | |
1062 * @return void | |
1063 */ | |
1064 function testDateDdmmyyyyLeapYear() { | |
1065 $this->assertTrue(Validation::date('29-02-2004', array('dmy'))); | |
1066 $this->assertTrue(Validation::date('29.02.2004', array('dmy'))); | |
1067 $this->assertTrue(Validation::date('29/02/2004', array('dmy'))); | |
1068 $this->assertTrue(Validation::date('29 02 2004', array('dmy'))); | |
1069 $this->assertFalse(Validation::date('29-02-2006', array('dmy'))); | |
1070 $this->assertFalse(Validation::date('29.02.2006', array('dmy'))); | |
1071 $this->assertFalse(Validation::date('29/02/2006', array('dmy'))); | |
1072 $this->assertFalse(Validation::date('29 02 2006', array('dmy'))); | |
1073 } | |
1074 | |
1075 /** | |
1076 * testDateDdmmyy method | |
1077 * | |
1078 * @access public | |
1079 * @return void | |
1080 */ | |
1081 function testDateDdmmyy() { | |
1082 $this->assertTrue(Validation::date('27-12-06', array('dmy'))); | |
1083 $this->assertTrue(Validation::date('27.12.06', array('dmy'))); | |
1084 $this->assertTrue(Validation::date('27/12/06', array('dmy'))); | |
1085 $this->assertTrue(Validation::date('27 12 06', array('dmy'))); | |
1086 $this->assertFalse(Validation::date('00-00-00', array('dmy'))); | |
1087 $this->assertFalse(Validation::date('00.00.00', array('dmy'))); | |
1088 $this->assertFalse(Validation::date('00/00/00', array('dmy'))); | |
1089 $this->assertFalse(Validation::date('00 00 00', array('dmy'))); | |
1090 $this->assertFalse(Validation::date('31-11-06', array('dmy'))); | |
1091 $this->assertFalse(Validation::date('31.11.06', array('dmy'))); | |
1092 $this->assertFalse(Validation::date('31/11/06', array('dmy'))); | |
1093 $this->assertFalse(Validation::date('31 11 06', array('dmy'))); | |
1094 } | |
1095 | |
1096 /** | |
1097 * testDateDdmmyyLeapYear method | |
1098 * | |
1099 * @access public | |
1100 * @return void | |
1101 */ | |
1102 function testDateDdmmyyLeapYear() { | |
1103 $this->assertTrue(Validation::date('29-02-04', array('dmy'))); | |
1104 $this->assertTrue(Validation::date('29.02.04', array('dmy'))); | |
1105 $this->assertTrue(Validation::date('29/02/04', array('dmy'))); | |
1106 $this->assertTrue(Validation::date('29 02 04', array('dmy'))); | |
1107 $this->assertFalse(Validation::date('29-02-06', array('dmy'))); | |
1108 $this->assertFalse(Validation::date('29.02.06', array('dmy'))); | |
1109 $this->assertFalse(Validation::date('29/02/06', array('dmy'))); | |
1110 $this->assertFalse(Validation::date('29 02 06', array('dmy'))); | |
1111 } | |
1112 | |
1113 /** | |
1114 * testDateDmyy method | |
1115 * | |
1116 * @access public | |
1117 * @return void | |
1118 */ | |
1119 function testDateDmyy() { | |
1120 $this->assertTrue(Validation::date('7-2-06', array('dmy'))); | |
1121 $this->assertTrue(Validation::date('7.2.06', array('dmy'))); | |
1122 $this->assertTrue(Validation::date('7/2/06', array('dmy'))); | |
1123 $this->assertTrue(Validation::date('7 2 06', array('dmy'))); | |
1124 $this->assertFalse(Validation::date('0-0-00', array('dmy'))); | |
1125 $this->assertFalse(Validation::date('0.0.00', array('dmy'))); | |
1126 $this->assertFalse(Validation::date('0/0/00', array('dmy'))); | |
1127 $this->assertFalse(Validation::date('0 0 00', array('dmy'))); | |
1128 $this->assertFalse(Validation::date('32-2-06', array('dmy'))); | |
1129 $this->assertFalse(Validation::date('32.2.06', array('dmy'))); | |
1130 $this->assertFalse(Validation::date('32/2/06', array('dmy'))); | |
1131 $this->assertFalse(Validation::date('32 2 06', array('dmy'))); | |
1132 } | |
1133 | |
1134 /** | |
1135 * testDateDmyyLeapYear method | |
1136 * | |
1137 * @access public | |
1138 * @return void | |
1139 */ | |
1140 function testDateDmyyLeapYear() { | |
1141 $this->assertTrue(Validation::date('29-2-04', array('dmy'))); | |
1142 $this->assertTrue(Validation::date('29.2.04', array('dmy'))); | |
1143 $this->assertTrue(Validation::date('29/2/04', array('dmy'))); | |
1144 $this->assertTrue(Validation::date('29 2 04', array('dmy'))); | |
1145 $this->assertFalse(Validation::date('29-2-06', array('dmy'))); | |
1146 $this->assertFalse(Validation::date('29.2.06', array('dmy'))); | |
1147 $this->assertFalse(Validation::date('29/2/06', array('dmy'))); | |
1148 $this->assertFalse(Validation::date('29 2 06', array('dmy'))); | |
1149 } | |
1150 | |
1151 /** | |
1152 * testDateDmyyyy method | |
1153 * | |
1154 * @access public | |
1155 * @return void | |
1156 */ | |
1157 function testDateDmyyyy() { | |
1158 $this->assertTrue(Validation::date('7-2-2006', array('dmy'))); | |
1159 $this->assertTrue(Validation::date('7.2.2006', array('dmy'))); | |
1160 $this->assertTrue(Validation::date('7/2/2006', array('dmy'))); | |
1161 $this->assertTrue(Validation::date('7 2 2006', array('dmy'))); | |
1162 $this->assertFalse(Validation::date('0-0-0000', array('dmy'))); | |
1163 $this->assertFalse(Validation::date('0.0.0000', array('dmy'))); | |
1164 $this->assertFalse(Validation::date('0/0/0000', array('dmy'))); | |
1165 $this->assertFalse(Validation::date('0 0 0000', array('dmy'))); | |
1166 $this->assertFalse(Validation::date('32-2-2006', array('dmy'))); | |
1167 $this->assertFalse(Validation::date('32.2.2006', array('dmy'))); | |
1168 $this->assertFalse(Validation::date('32/2/2006', array('dmy'))); | |
1169 $this->assertFalse(Validation::date('32 2 2006', array('dmy'))); | |
1170 } | |
1171 | |
1172 /** | |
1173 * testDateDmyyyyLeapYear method | |
1174 * | |
1175 * @access public | |
1176 * @return void | |
1177 */ | |
1178 function testDateDmyyyyLeapYear() { | |
1179 $this->assertTrue(Validation::date('29-2-2004', array('dmy'))); | |
1180 $this->assertTrue(Validation::date('29.2.2004', array('dmy'))); | |
1181 $this->assertTrue(Validation::date('29/2/2004', array('dmy'))); | |
1182 $this->assertTrue(Validation::date('29 2 2004', array('dmy'))); | |
1183 $this->assertFalse(Validation::date('29-2-2006', array('dmy'))); | |
1184 $this->assertFalse(Validation::date('29.2.2006', array('dmy'))); | |
1185 $this->assertFalse(Validation::date('29/2/2006', array('dmy'))); | |
1186 $this->assertFalse(Validation::date('29 2 2006', array('dmy'))); | |
1187 } | |
1188 | |
1189 /** | |
1190 * testDateMmddyyyy method | |
1191 * | |
1192 * @access public | |
1193 * @return void | |
1194 */ | |
1195 function testDateMmddyyyy() { | |
1196 $this->assertTrue(Validation::date('12-27-2006', array('mdy'))); | |
1197 $this->assertTrue(Validation::date('12.27.2006', array('mdy'))); | |
1198 $this->assertTrue(Validation::date('12/27/2006', array('mdy'))); | |
1199 $this->assertTrue(Validation::date('12 27 2006', array('mdy'))); | |
1200 $this->assertFalse(Validation::date('00-00-0000', array('mdy'))); | |
1201 $this->assertFalse(Validation::date('00.00.0000', array('mdy'))); | |
1202 $this->assertFalse(Validation::date('00/00/0000', array('mdy'))); | |
1203 $this->assertFalse(Validation::date('00 00 0000', array('mdy'))); | |
1204 $this->assertFalse(Validation::date('11-31-2006', array('mdy'))); | |
1205 $this->assertFalse(Validation::date('11.31.2006', array('mdy'))); | |
1206 $this->assertFalse(Validation::date('11/31/2006', array('mdy'))); | |
1207 $this->assertFalse(Validation::date('11 31 2006', array('mdy'))); | |
1208 } | |
1209 | |
1210 /** | |
1211 * testDateMmddyyyyLeapYear method | |
1212 * | |
1213 * @access public | |
1214 * @return void | |
1215 */ | |
1216 function testDateMmddyyyyLeapYear() { | |
1217 $this->assertTrue(Validation::date('02-29-2004', array('mdy'))); | |
1218 $this->assertTrue(Validation::date('02.29.2004', array('mdy'))); | |
1219 $this->assertTrue(Validation::date('02/29/2004', array('mdy'))); | |
1220 $this->assertTrue(Validation::date('02 29 2004', array('mdy'))); | |
1221 $this->assertFalse(Validation::date('02-29-2006', array('mdy'))); | |
1222 $this->assertFalse(Validation::date('02.29.2006', array('mdy'))); | |
1223 $this->assertFalse(Validation::date('02/29/2006', array('mdy'))); | |
1224 $this->assertFalse(Validation::date('02 29 2006', array('mdy'))); | |
1225 } | |
1226 | |
1227 /** | |
1228 * testDateMmddyy method | |
1229 * | |
1230 * @access public | |
1231 * @return void | |
1232 */ | |
1233 function testDateMmddyy() { | |
1234 $this->assertTrue(Validation::date('12-27-06', array('mdy'))); | |
1235 $this->assertTrue(Validation::date('12.27.06', array('mdy'))); | |
1236 $this->assertTrue(Validation::date('12/27/06', array('mdy'))); | |
1237 $this->assertTrue(Validation::date('12 27 06', array('mdy'))); | |
1238 $this->assertFalse(Validation::date('00-00-00', array('mdy'))); | |
1239 $this->assertFalse(Validation::date('00.00.00', array('mdy'))); | |
1240 $this->assertFalse(Validation::date('00/00/00', array('mdy'))); | |
1241 $this->assertFalse(Validation::date('00 00 00', array('mdy'))); | |
1242 $this->assertFalse(Validation::date('11-31-06', array('mdy'))); | |
1243 $this->assertFalse(Validation::date('11.31.06', array('mdy'))); | |
1244 $this->assertFalse(Validation::date('11/31/06', array('mdy'))); | |
1245 $this->assertFalse(Validation::date('11 31 06', array('mdy'))); | |
1246 } | |
1247 | |
1248 /** | |
1249 * testDateMmddyyLeapYear method | |
1250 * | |
1251 * @access public | |
1252 * @return void | |
1253 */ | |
1254 function testDateMmddyyLeapYear() { | |
1255 $this->assertTrue(Validation::date('02-29-04', array('mdy'))); | |
1256 $this->assertTrue(Validation::date('02.29.04', array('mdy'))); | |
1257 $this->assertTrue(Validation::date('02/29/04', array('mdy'))); | |
1258 $this->assertTrue(Validation::date('02 29 04', array('mdy'))); | |
1259 $this->assertFalse(Validation::date('02-29-06', array('mdy'))); | |
1260 $this->assertFalse(Validation::date('02.29.06', array('mdy'))); | |
1261 $this->assertFalse(Validation::date('02/29/06', array('mdy'))); | |
1262 $this->assertFalse(Validation::date('02 29 06', array('mdy'))); | |
1263 } | |
1264 | |
1265 /** | |
1266 * testDateMdyy method | |
1267 * | |
1268 * @access public | |
1269 * @return void | |
1270 */ | |
1271 function testDateMdyy() { | |
1272 $this->assertTrue(Validation::date('2-7-06', array('mdy'))); | |
1273 $this->assertTrue(Validation::date('2.7.06', array('mdy'))); | |
1274 $this->assertTrue(Validation::date('2/7/06', array('mdy'))); | |
1275 $this->assertTrue(Validation::date('2 7 06', array('mdy'))); | |
1276 $this->assertFalse(Validation::date('0-0-00', array('mdy'))); | |
1277 $this->assertFalse(Validation::date('0.0.00', array('mdy'))); | |
1278 $this->assertFalse(Validation::date('0/0/00', array('mdy'))); | |
1279 $this->assertFalse(Validation::date('0 0 00', array('mdy'))); | |
1280 $this->assertFalse(Validation::date('2-32-06', array('mdy'))); | |
1281 $this->assertFalse(Validation::date('2.32.06', array('mdy'))); | |
1282 $this->assertFalse(Validation::date('2/32/06', array('mdy'))); | |
1283 $this->assertFalse(Validation::date('2 32 06', array('mdy'))); | |
1284 } | |
1285 | |
1286 /** | |
1287 * testDateMdyyLeapYear method | |
1288 * | |
1289 * @access public | |
1290 * @return void | |
1291 */ | |
1292 function testDateMdyyLeapYear() { | |
1293 $this->assertTrue(Validation::date('2-29-04', array('mdy'))); | |
1294 $this->assertTrue(Validation::date('2.29.04', array('mdy'))); | |
1295 $this->assertTrue(Validation::date('2/29/04', array('mdy'))); | |
1296 $this->assertTrue(Validation::date('2 29 04', array('mdy'))); | |
1297 $this->assertFalse(Validation::date('2-29-06', array('mdy'))); | |
1298 $this->assertFalse(Validation::date('2.29.06', array('mdy'))); | |
1299 $this->assertFalse(Validation::date('2/29/06', array('mdy'))); | |
1300 $this->assertFalse(Validation::date('2 29 06', array('mdy'))); | |
1301 } | |
1302 | |
1303 /** | |
1304 * testDateMdyyyy method | |
1305 * | |
1306 * @access public | |
1307 * @return void | |
1308 */ | |
1309 function testDateMdyyyy() { | |
1310 $this->assertTrue(Validation::date('2-7-2006', array('mdy'))); | |
1311 $this->assertTrue(Validation::date('2.7.2006', array('mdy'))); | |
1312 $this->assertTrue(Validation::date('2/7/2006', array('mdy'))); | |
1313 $this->assertTrue(Validation::date('2 7 2006', array('mdy'))); | |
1314 $this->assertFalse(Validation::date('0-0-0000', array('mdy'))); | |
1315 $this->assertFalse(Validation::date('0.0.0000', array('mdy'))); | |
1316 $this->assertFalse(Validation::date('0/0/0000', array('mdy'))); | |
1317 $this->assertFalse(Validation::date('0 0 0000', array('mdy'))); | |
1318 $this->assertFalse(Validation::date('2-32-2006', array('mdy'))); | |
1319 $this->assertFalse(Validation::date('2.32.2006', array('mdy'))); | |
1320 $this->assertFalse(Validation::date('2/32/2006', array('mdy'))); | |
1321 $this->assertFalse(Validation::date('2 32 2006', array('mdy'))); | |
1322 } | |
1323 | |
1324 /** | |
1325 * testDateMdyyyyLeapYear method | |
1326 * | |
1327 * @access public | |
1328 * @return void | |
1329 */ | |
1330 function testDateMdyyyyLeapYear() { | |
1331 $this->assertTrue(Validation::date('2-29-2004', array('mdy'))); | |
1332 $this->assertTrue(Validation::date('2.29.2004', array('mdy'))); | |
1333 $this->assertTrue(Validation::date('2/29/2004', array('mdy'))); | |
1334 $this->assertTrue(Validation::date('2 29 2004', array('mdy'))); | |
1335 $this->assertFalse(Validation::date('2-29-2006', array('mdy'))); | |
1336 $this->assertFalse(Validation::date('2.29.2006', array('mdy'))); | |
1337 $this->assertFalse(Validation::date('2/29/2006', array('mdy'))); | |
1338 $this->assertFalse(Validation::date('2 29 2006', array('mdy'))); | |
1339 } | |
1340 | |
1341 /** | |
1342 * testDateYyyymmdd method | |
1343 * | |
1344 * @access public | |
1345 * @return void | |
1346 */ | |
1347 function testDateYyyymmdd() { | |
1348 $this->assertTrue(Validation::date('2006-12-27', array('ymd'))); | |
1349 $this->assertTrue(Validation::date('2006.12.27', array('ymd'))); | |
1350 $this->assertTrue(Validation::date('2006/12/27', array('ymd'))); | |
1351 $this->assertTrue(Validation::date('2006 12 27', array('ymd'))); | |
1352 $this->assertFalse(Validation::date('2006-11-31', array('ymd'))); | |
1353 $this->assertFalse(Validation::date('2006.11.31', array('ymd'))); | |
1354 $this->assertFalse(Validation::date('2006/11/31', array('ymd'))); | |
1355 $this->assertFalse(Validation::date('2006 11 31', array('ymd'))); | |
1356 } | |
1357 | |
1358 /** | |
1359 * testDateYyyymmddLeapYear method | |
1360 * | |
1361 * @access public | |
1362 * @return void | |
1363 */ | |
1364 function testDateYyyymmddLeapYear() { | |
1365 $this->assertTrue(Validation::date('2004-02-29', array('ymd'))); | |
1366 $this->assertTrue(Validation::date('2004.02.29', array('ymd'))); | |
1367 $this->assertTrue(Validation::date('2004/02/29', array('ymd'))); | |
1368 $this->assertTrue(Validation::date('2004 02 29', array('ymd'))); | |
1369 $this->assertFalse(Validation::date('2006-02-29', array('ymd'))); | |
1370 $this->assertFalse(Validation::date('2006.02.29', array('ymd'))); | |
1371 $this->assertFalse(Validation::date('2006/02/29', array('ymd'))); | |
1372 $this->assertFalse(Validation::date('2006 02 29', array('ymd'))); | |
1373 } | |
1374 | |
1375 /** | |
1376 * testDateYymmdd method | |
1377 * | |
1378 * @access public | |
1379 * @return void | |
1380 */ | |
1381 function testDateYymmdd() { | |
1382 $this->assertTrue(Validation::date('06-12-27', array('ymd'))); | |
1383 $this->assertTrue(Validation::date('06.12.27', array('ymd'))); | |
1384 $this->assertTrue(Validation::date('06/12/27', array('ymd'))); | |
1385 $this->assertTrue(Validation::date('06 12 27', array('ymd'))); | |
1386 $this->assertFalse(Validation::date('12/27/2600', array('ymd'))); | |
1387 $this->assertFalse(Validation::date('12.27.2600', array('ymd'))); | |
1388 $this->assertFalse(Validation::date('12/27/2600', array('ymd'))); | |
1389 $this->assertFalse(Validation::date('12 27 2600', array('ymd'))); | |
1390 $this->assertFalse(Validation::date('06-11-31', array('ymd'))); | |
1391 $this->assertFalse(Validation::date('06.11.31', array('ymd'))); | |
1392 $this->assertFalse(Validation::date('06/11/31', array('ymd'))); | |
1393 $this->assertFalse(Validation::date('06 11 31', array('ymd'))); | |
1394 } | |
1395 | |
1396 /** | |
1397 * testDateYymmddLeapYear method | |
1398 * | |
1399 * @access public | |
1400 * @return void | |
1401 */ | |
1402 function testDateYymmddLeapYear() { | |
1403 $this->assertTrue(Validation::date('2004-02-29', array('ymd'))); | |
1404 $this->assertTrue(Validation::date('2004.02.29', array('ymd'))); | |
1405 $this->assertTrue(Validation::date('2004/02/29', array('ymd'))); | |
1406 $this->assertTrue(Validation::date('2004 02 29', array('ymd'))); | |
1407 $this->assertFalse(Validation::date('2006-02-29', array('ymd'))); | |
1408 $this->assertFalse(Validation::date('2006.02.29', array('ymd'))); | |
1409 $this->assertFalse(Validation::date('2006/02/29', array('ymd'))); | |
1410 $this->assertFalse(Validation::date('2006 02 29', array('ymd'))); | |
1411 } | |
1412 | |
1413 /** | |
1414 * testDateDdMMMMyyyy method | |
1415 * | |
1416 * @access public | |
1417 * @return void | |
1418 */ | |
1419 function testDateDdMMMMyyyy() { | |
1420 $this->assertTrue(Validation::date('27 December 2006', array('dMy'))); | |
1421 $this->assertTrue(Validation::date('27 Dec 2006', array('dMy'))); | |
1422 $this->assertFalse(Validation::date('2006 Dec 27', array('dMy'))); | |
1423 $this->assertFalse(Validation::date('2006 December 27', array('dMy'))); | |
1424 } | |
1425 | |
1426 /** | |
1427 * testDateDdMMMMyyyyLeapYear method | |
1428 * | |
1429 * @access public | |
1430 * @return void | |
1431 */ | |
1432 function testDateDdMMMMyyyyLeapYear() { | |
1433 $this->assertTrue(Validation::date('29 February 2004', array('dMy'))); | |
1434 $this->assertFalse(Validation::date('29 February 2006', array('dMy'))); | |
1435 } | |
1436 | |
1437 /** | |
1438 * testDateMmmmDdyyyy method | |
1439 * | |
1440 * @access public | |
1441 * @return void | |
1442 */ | |
1443 function testDateMmmmDdyyyy() { | |
1444 $this->assertTrue(Validation::date('December 27, 2006', array('Mdy'))); | |
1445 $this->assertTrue(Validation::date('Dec 27, 2006', array('Mdy'))); | |
1446 $this->assertTrue(Validation::date('December 27 2006', array('Mdy'))); | |
1447 $this->assertTrue(Validation::date('Dec 27 2006', array('Mdy'))); | |
1448 $this->assertFalse(Validation::date('27 Dec 2006', array('Mdy'))); | |
1449 $this->assertFalse(Validation::date('2006 December 27', array('Mdy'))); | |
1450 } | |
1451 | |
1452 /** | |
1453 * testDateMmmmDdyyyyLeapYear method | |
1454 * | |
1455 * @access public | |
1456 * @return void | |
1457 */ | |
1458 function testDateMmmmDdyyyyLeapYear() { | |
1459 $this->assertTrue(Validation::date('February 29, 2004', array('Mdy'))); | |
1460 $this->assertTrue(Validation::date('Feb 29, 2004', array('Mdy'))); | |
1461 $this->assertTrue(Validation::date('February 29 2004', array('Mdy'))); | |
1462 $this->assertTrue(Validation::date('Feb 29 2004', array('Mdy'))); | |
1463 $this->assertFalse(Validation::date('February 29, 2006', array('Mdy'))); | |
1464 } | |
1465 | |
1466 /** | |
1467 * testDateMy method | |
1468 * | |
1469 * @access public | |
1470 * @return void | |
1471 */ | |
1472 function testDateMy() { | |
1473 $this->assertTrue(Validation::date('December 2006', array('My'))); | |
1474 $this->assertTrue(Validation::date('Dec 2006', array('My'))); | |
1475 $this->assertTrue(Validation::date('December/2006', array('My'))); | |
1476 $this->assertTrue(Validation::date('Dec/2006', array('My'))); | |
1477 } | |
1478 | |
1479 /** | |
1480 * testDateMyNumeric method | |
1481 * | |
1482 * @access public | |
1483 * @return void | |
1484 */ | |
1485 function testDateMyNumeric() { | |
1486 $this->assertTrue(Validation::date('12/2006', array('my'))); | |
1487 $this->assertTrue(Validation::date('12-2006', array('my'))); | |
1488 $this->assertTrue(Validation::date('12.2006', array('my'))); | |
1489 $this->assertTrue(Validation::date('12 2006', array('my'))); | |
1490 $this->assertFalse(Validation::date('12/06', array('my'))); | |
1491 $this->assertFalse(Validation::date('12-06', array('my'))); | |
1492 $this->assertFalse(Validation::date('12.06', array('my'))); | |
1493 $this->assertFalse(Validation::date('12 06', array('my'))); | |
1494 } | |
1495 | |
1496 /** | |
1497 * testTime method | |
1498 * | |
1499 * @access public | |
1500 * @return void | |
1501 */ | |
1502 function testTime() { | |
1503 $this->assertTrue(Validation::time('00:00')); | |
1504 $this->assertTrue(Validation::time('23:59')); | |
1505 $this->assertFalse(Validation::time('24:00')); | |
1506 $this->assertTrue(Validation::time('12:00')); | |
1507 $this->assertTrue(Validation::time('12:01')); | |
1508 $this->assertTrue(Validation::time('12:01am')); | |
1509 $this->assertTrue(Validation::time('12:01pm')); | |
1510 $this->assertTrue(Validation::time('1pm')); | |
1511 $this->assertTrue(Validation::time('01:00')); | |
1512 $this->assertFalse(Validation::time('1:00')); | |
1513 $this->assertTrue(Validation::time('1:00pm')); | |
1514 $this->assertFalse(Validation::time('13:00pm')); | |
1515 $this->assertFalse(Validation::time('9:00')); | |
1516 } | |
1517 | |
1518 /** | |
1519 * testBoolean method | |
1520 * | |
1521 * @access public | |
1522 * @return void | |
1523 */ | |
1524 function testBoolean() { | |
1525 $this->assertTrue(Validation::boolean('0')); | |
1526 $this->assertTrue(Validation::boolean('1')); | |
1527 $this->assertTrue(Validation::boolean(0)); | |
1528 $this->assertTrue(Validation::boolean(1)); | |
1529 $this->assertTrue(Validation::boolean(true)); | |
1530 $this->assertTrue(Validation::boolean(false)); | |
1531 $this->assertFalse(Validation::boolean('true')); | |
1532 $this->assertFalse(Validation::boolean('false')); | |
1533 $this->assertFalse(Validation::boolean('-1')); | |
1534 $this->assertFalse(Validation::boolean('2')); | |
1535 $this->assertFalse(Validation::boolean('Boo!')); | |
1536 } | |
1537 | |
1538 /** | |
1539 * testDateCustomRegx method | |
1540 * | |
1541 * @access public | |
1542 * @return void | |
1543 */ | |
1544 function testDateCustomRegx() { | |
1545 $this->assertTrue(Validation::date('2006-12-27', null, '%^(19|20)[0-9]{2}[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$%')); | |
1546 $this->assertFalse(Validation::date('12-27-2006', null, '%^(19|20)[0-9]{2}[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$%')); | |
1547 } | |
1548 | |
1549 /** | |
1550 * testDecimal method | |
1551 * | |
1552 * @access public | |
1553 * @return void | |
1554 */ | |
1555 function testDecimal() { | |
1556 $this->assertTrue(Validation::decimal('+1234.54321')); | |
1557 $this->assertTrue(Validation::decimal('-1234.54321')); | |
1558 $this->assertTrue(Validation::decimal('1234.54321')); | |
1559 $this->assertTrue(Validation::decimal('+0123.45e6')); | |
1560 $this->assertTrue(Validation::decimal('-0123.45e6')); | |
1561 $this->assertTrue(Validation::decimal('0123.45e6')); | |
1562 $this->assertFalse(Validation::decimal('string')); | |
1563 $this->assertFalse(Validation::decimal('1234')); | |
1564 $this->assertFalse(Validation::decimal('-1234')); | |
1565 $this->assertFalse(Validation::decimal('+1234')); | |
1566 } | |
1567 | |
1568 /** | |
1569 * testDecimalWithPlaces method | |
1570 * | |
1571 * @access public | |
1572 * @return void | |
1573 */ | |
1574 function testDecimalWithPlaces() { | |
1575 $this->assertTrue(Validation::decimal('.27', '2')); | |
1576 $this->assertTrue(Validation::decimal(.27, 2)); | |
1577 $this->assertTrue(Validation::decimal(-.27, 2)); | |
1578 $this->assertTrue(Validation::decimal(+.27, 2)); | |
1579 $this->assertTrue(Validation::decimal('.277', '3')); | |
1580 $this->assertTrue(Validation::decimal(.277, 3)); | |
1581 $this->assertTrue(Validation::decimal(-.277, 3)); | |
1582 $this->assertTrue(Validation::decimal(+.277, 3)); | |
1583 $this->assertTrue(Validation::decimal('1234.5678', '4')); | |
1584 $this->assertTrue(Validation::decimal(1234.5678, 4)); | |
1585 $this->assertTrue(Validation::decimal(-1234.5678, 4)); | |
1586 $this->assertTrue(Validation::decimal(+1234.5678, 4)); | |
1587 $this->assertFalse(Validation::decimal('1234.5678', '3')); | |
1588 $this->assertFalse(Validation::decimal(1234.5678, 3)); | |
1589 $this->assertFalse(Validation::decimal(-1234.5678, 3)); | |
1590 $this->assertFalse(Validation::decimal(+1234.5678, 3)); | |
1591 } | |
1592 | |
1593 /** | |
1594 * testDecimalCustomRegex method | |
1595 * | |
1596 * @access public | |
1597 * @return void | |
1598 */ | |
1599 function testDecimalCustomRegex() { | |
1600 $this->assertTrue(Validation::decimal('1.54321', null, '/^[-+]?[0-9]+(\\.[0-9]+)?$/s')); | |
1601 $this->assertFalse(Validation::decimal('.54321', null, '/^[-+]?[0-9]+(\\.[0-9]+)?$/s')); | |
1602 } | |
1603 | |
1604 /** | |
1605 * testEmail method | |
1606 * | |
1607 * @access public | |
1608 * @return void | |
1609 */ | |
1610 function testEmail() { | |
1611 $this->assertTrue(Validation::email('abc.efg@domain.com')); | |
1612 $this->assertTrue(Validation::email('efg@domain.com')); | |
1613 $this->assertTrue(Validation::email('abc-efg@domain.com')); | |
1614 $this->assertTrue(Validation::email('abc_efg@domain.com')); | |
1615 $this->assertTrue(Validation::email('raw@test.ra.ru')); | |
1616 $this->assertTrue(Validation::email('abc-efg@domain-hyphened.com')); | |
1617 $this->assertTrue(Validation::email("p.o'malley@domain.com")); | |
1618 $this->assertTrue(Validation::email('abc+efg@domain.com')); | |
1619 $this->assertTrue(Validation::email('abc&efg@domain.com')); | |
1620 $this->assertTrue(Validation::email('abc.efg@12345.com')); | |
1621 $this->assertTrue(Validation::email('abc.efg@12345.co.jp')); | |
1622 $this->assertTrue(Validation::email('abc@g.cn')); | |
1623 $this->assertTrue(Validation::email('abc@x.com')); | |
1624 $this->assertTrue(Validation::email('henrik@sbcglobal.net')); | |
1625 $this->assertTrue(Validation::email('sani@sbcglobal.net')); | |
1626 | |
1627 // all ICANN TLDs | |
1628 $this->assertTrue(Validation::email('abc@example.aero')); | |
1629 $this->assertTrue(Validation::email('abc@example.asia')); | |
1630 $this->assertTrue(Validation::email('abc@example.biz')); | |
1631 $this->assertTrue(Validation::email('abc@example.cat')); | |
1632 $this->assertTrue(Validation::email('abc@example.com')); | |
1633 $this->assertTrue(Validation::email('abc@example.coop')); | |
1634 $this->assertTrue(Validation::email('abc@example.edu')); | |
1635 $this->assertTrue(Validation::email('abc@example.gov')); | |
1636 $this->assertTrue(Validation::email('abc@example.info')); | |
1637 $this->assertTrue(Validation::email('abc@example.int')); | |
1638 $this->assertTrue(Validation::email('abc@example.jobs')); | |
1639 $this->assertTrue(Validation::email('abc@example.mil')); | |
1640 $this->assertTrue(Validation::email('abc@example.mobi')); | |
1641 $this->assertTrue(Validation::email('abc@example.museum')); | |
1642 $this->assertTrue(Validation::email('abc@example.name')); | |
1643 $this->assertTrue(Validation::email('abc@example.net')); | |
1644 $this->assertTrue(Validation::email('abc@example.org')); | |
1645 $this->assertTrue(Validation::email('abc@example.pro')); | |
1646 $this->assertTrue(Validation::email('abc@example.tel')); | |
1647 $this->assertTrue(Validation::email('abc@example.travel')); | |
1648 $this->assertTrue(Validation::email('someone@st.t-com.hr')); | |
1649 | |
1650 // strange, but technically valid email addresses | |
1651 $this->assertTrue(Validation::email('S=postmaster/OU=rz/P=uni-frankfurt/A=d400/C=de@gateway.d400.de')); | |
1652 $this->assertTrue(Validation::email('customer/department=shipping@example.com')); | |
1653 $this->assertTrue(Validation::email('$A12345@example.com')); | |
1654 $this->assertTrue(Validation::email('!def!xyz%abc@example.com')); | |
1655 $this->assertTrue(Validation::email('_somename@example.com')); | |
1656 | |
1657 // invalid addresses | |
1658 $this->assertFalse(Validation::email('abc@example')); | |
1659 $this->assertFalse(Validation::email('abc@example.c')); | |
1660 $this->assertFalse(Validation::email('abc@example.com.')); | |
1661 $this->assertFalse(Validation::email('abc.@example.com')); | |
1662 $this->assertFalse(Validation::email('abc@example..com')); | |
1663 $this->assertFalse(Validation::email('abc@example.com.a')); | |
1664 $this->assertFalse(Validation::email('abc@example.toolong')); | |
1665 $this->assertFalse(Validation::email('abc;@example.com')); | |
1666 $this->assertFalse(Validation::email('abc@example.com;')); | |
1667 $this->assertFalse(Validation::email('abc@efg@example.com')); | |
1668 $this->assertFalse(Validation::email('abc@@example.com')); | |
1669 $this->assertFalse(Validation::email('abc efg@example.com')); | |
1670 $this->assertFalse(Validation::email('abc,efg@example.com')); | |
1671 $this->assertFalse(Validation::email('abc@sub,example.com')); | |
1672 $this->assertFalse(Validation::email("abc@sub'example.com")); | |
1673 $this->assertFalse(Validation::email('abc@sub/example.com')); | |
1674 $this->assertFalse(Validation::email('abc@yahoo!.com')); | |
1675 $this->assertFalse(Validation::email("Nyrée.surname@example.com")); | |
1676 $this->assertFalse(Validation::email('abc@example_underscored.com')); | |
1677 $this->assertFalse(Validation::email('raw@test.ra.ru....com')); | |
1678 } | |
1679 | |
1680 /** | |
1681 * testEmailDeep method | |
1682 * | |
1683 * @access public | |
1684 * @return void | |
1685 */ | |
1686 function testEmailDeep() { | |
1687 $found = gethostbynamel('example.abcd'); | |
1688 if ($this->skipIf($found, 'Your DNS service responds for non-existant domains, skipping deep email checks. %s')) { | |
1689 return; | |
1690 } | |
1691 $this->assertTrue(Validation::email('abc.efg@cakephp.org', true)); | |
1692 $this->assertFalse(Validation::email('abc.efg@caphpkeinvalid.com', true)); | |
1693 $this->assertFalse(Validation::email('abc@example.abcd', true)); | |
1694 } | |
1695 | |
1696 /** | |
1697 * testEmailCustomRegex method | |
1698 * | |
1699 * @access public | |
1700 * @return void | |
1701 */ | |
1702 function testEmailCustomRegex() { | |
1703 $this->assertTrue(Validation::email('abc.efg@cakephp.org', null, '/^[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i')); | |
1704 $this->assertFalse(Validation::email('abc.efg@com.caphpkeinvalid', null, '/^[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$/i')); | |
1705 } | |
1706 | |
1707 /** | |
1708 * testEqualTo method | |
1709 * | |
1710 * @access public | |
1711 * @return void | |
1712 */ | |
1713 function testEqualTo() { | |
1714 $this->assertTrue(Validation::equalTo("1", "1")); | |
1715 $this->assertFalse(Validation::equalTo(1, "1")); | |
1716 $this->assertFalse(Validation::equalTo("", null)); | |
1717 $this->assertFalse(Validation::equalTo("", false)); | |
1718 $this->assertFalse(Validation::equalTo(0, false)); | |
1719 $this->assertFalse(Validation::equalTo(null, false)); | |
1720 } | |
1721 | |
1722 /** | |
1723 * testIp method | |
1724 * | |
1725 * @access public | |
1726 * @return void | |
1727 */ | |
1728 function testIpv4() { | |
1729 $this->assertTrue(Validation::ip('0.0.0.0', 'IPv4')); | |
1730 $this->assertTrue(Validation::ip('192.168.1.156', 'IPv4')); | |
1731 $this->assertTrue(Validation::ip('255.255.255.255', 'IPv4')); | |
1732 | |
1733 $this->assertFalse(Validation::ip('127.0.0', 'IPv4')); | |
1734 $this->assertFalse(Validation::ip('127.0.0.a', 'IPv4')); | |
1735 $this->assertFalse(Validation::ip('127.0.0.256', 'IPv4')); | |
1736 | |
1737 $this->assertFalse(Validation::ip('2001:0db8:85a3:0000:0000:8a2e:0370:7334', 'IPv4')); | |
1738 } | |
1739 | |
1740 /** | |
1741 * testIp v6 | |
1742 * | |
1743 * @access public | |
1744 * @return void | |
1745 */ | |
1746 function testIpv6() { | |
1747 $this->assertTrue(Validation::ip('2001:0db8:85a3:0000:0000:8a2e:0370:7334', 'IPv6')); | |
1748 $this->assertTrue(Validation::ip('2001:db8:85a3:0:0:8a2e:370:7334', 'IPv6')); | |
1749 $this->assertTrue(Validation::ip('2001:db8:85a3::8a2e:370:7334', 'IPv6')); | |
1750 $this->assertTrue(Validation::ip('2001:0db8:0000:0000:0000:0000:1428:57ab', 'IPv6')); | |
1751 $this->assertTrue(Validation::ip('2001:0db8:0000:0000:0000::1428:57ab', 'IPv6')); | |
1752 $this->assertTrue(Validation::ip('2001:0db8:0:0:0:0:1428:57ab', 'IPv6')); | |
1753 $this->assertTrue(Validation::ip('2001:0db8:0:0::1428:57ab', 'IPv6')); | |
1754 $this->assertTrue(Validation::ip('2001:0db8::1428:57ab', 'IPv6')); | |
1755 $this->assertTrue(Validation::ip('2001:db8::1428:57ab', 'IPv6')); | |
1756 $this->assertTrue(Validation::ip('0000:0000:0000:0000:0000:0000:0000:0001', 'IPv6')); | |
1757 $this->assertTrue(Validation::ip('::1', 'IPv6')); | |
1758 $this->assertTrue(Validation::ip('::ffff:12.34.56.78', 'IPv6')); | |
1759 $this->assertTrue(Validation::ip('::ffff:0c22:384e', 'IPv6')); | |
1760 $this->assertTrue(Validation::ip('2001:0db8:1234:0000:0000:0000:0000:0000', 'IPv6')); | |
1761 $this->assertTrue(Validation::ip('2001:0db8:1234:ffff:ffff:ffff:ffff:ffff', 'IPv6')); | |
1762 $this->assertTrue(Validation::ip('2001:db8:a::123', 'IPv6')); | |
1763 $this->assertTrue(Validation::ip('fe80::', 'IPv6')); | |
1764 $this->assertTrue(Validation::ip('::ffff:192.0.2.128', 'IPv6')); | |
1765 $this->assertTrue(Validation::ip('::ffff:c000:280', 'IPv6')); | |
1766 | |
1767 $this->assertFalse(Validation::ip('123', 'IPv6')); | |
1768 $this->assertFalse(Validation::ip('ldkfj', 'IPv6')); | |
1769 $this->assertFalse(Validation::ip('2001::FFD3::57ab', 'IPv6')); | |
1770 $this->assertFalse(Validation::ip('2001:db8:85a3::8a2e:37023:7334', 'IPv6')); | |
1771 $this->assertFalse(Validation::ip('2001:db8:85a3::8a2e:370k:7334', 'IPv6')); | |
1772 $this->assertFalse(Validation::ip('1:2:3:4:5:6:7:8:9', 'IPv6')); | |
1773 $this->assertFalse(Validation::ip('1::2::3', 'IPv6')); | |
1774 $this->assertFalse(Validation::ip('1:::3:4:5', 'IPv6')); | |
1775 $this->assertFalse(Validation::ip('1:2:3::4:5:6:7:8:9', 'IPv6')); | |
1776 $this->assertFalse(Validation::ip('::ffff:2.3.4', 'IPv6')); | |
1777 $this->assertFalse(Validation::ip('::ffff:257.1.2.3', 'IPv6')); | |
1778 | |
1779 $this->assertFalse(Validation::ip('0.0.0.0', 'IPv6')); | |
1780 } | |
1781 | |
1782 /** | |
1783 * testIpBoth method | |
1784 * | |
1785 * @return void | |
1786 * @access public | |
1787 */ | |
1788 function testIpBoth() { | |
1789 $this->assertTrue(Validation::ip('0.0.0.0')); | |
1790 $this->assertTrue(Validation::ip('192.168.1.156')); | |
1791 $this->assertTrue(Validation::ip('255.255.255.255')); | |
1792 | |
1793 $this->assertFalse(Validation::ip('127.0.0')); | |
1794 $this->assertFalse(Validation::ip('127.0.0.a')); | |
1795 $this->assertFalse(Validation::ip('127.0.0.256')); | |
1796 | |
1797 $this->assertTrue(Validation::ip('2001:0db8:85a3:0000:0000:8a2e:0370:7334')); | |
1798 $this->assertTrue(Validation::ip('2001:db8:85a3:0:0:8a2e:370:7334')); | |
1799 $this->assertTrue(Validation::ip('2001:db8:85a3::8a2e:370:7334')); | |
1800 | |
1801 $this->assertFalse(Validation::ip('2001:db8:85a3::8a2e:37023:7334')); | |
1802 $this->assertFalse(Validation::ip('2001:db8:85a3::8a2e:370k:7334')); | |
1803 $this->assertFalse(Validation::ip('1:2:3:4:5:6:7:8:9')); | |
1804 } | |
1805 | |
1806 /** | |
1807 * testMaxLength method | |
1808 * | |
1809 * @access public | |
1810 * @return void | |
1811 */ | |
1812 function testMaxLength() { | |
1813 $this->assertTrue(Validation::maxLength('ab', 3)); | |
1814 $this->assertTrue(Validation::maxLength('abc', 3)); | |
1815 $this->assertTrue(Validation::maxLength('ÆΔΩЖÇ', 10)); | |
1816 | |
1817 $this->assertFalse(Validation::maxLength('abcd', 3)); | |
1818 $this->assertFalse(Validation::maxLength('ÆΔΩЖÇ', 3)); | |
1819 } | |
1820 | |
1821 /** | |
1822 * testMinLength method | |
1823 * | |
1824 * @access public | |
1825 * @return void | |
1826 */ | |
1827 function testMinLength() { | |
1828 $this->assertFalse(Validation::minLength('ab', 3)); | |
1829 $this->assertFalse(Validation::minLength('ÆΔΩЖÇ', 10)); | |
1830 | |
1831 $this->assertTrue(Validation::minLength('abc', 3)); | |
1832 $this->assertTrue(Validation::minLength('abcd', 3)); | |
1833 $this->assertTrue(Validation::minLength('ÆΔΩЖÇ', 2)); | |
1834 } | |
1835 | |
1836 /** | |
1837 * testUrl method | |
1838 * | |
1839 * @access public | |
1840 * @return void | |
1841 */ | |
1842 function testUrl() { | |
1843 $this->assertTrue(Validation::url('http://www.cakephp.org')); | |
1844 $this->assertTrue(Validation::url('http://cakephp.org')); | |
1845 $this->assertTrue(Validation::url('http://www.cakephp.org/somewhere#anchor')); | |
1846 $this->assertTrue(Validation::url('http://192.168.0.1')); | |
1847 $this->assertTrue(Validation::url('https://www.cakephp.org')); | |
1848 $this->assertTrue(Validation::url('https://cakephp.org')); | |
1849 $this->assertTrue(Validation::url('https://www.cakephp.org/somewhere#anchor')); | |
1850 $this->assertTrue(Validation::url('https://192.168.0.1')); | |
1851 $this->assertTrue(Validation::url('ftps://www.cakephp.org/pub/cake')); | |
1852 $this->assertTrue(Validation::url('ftps://cakephp.org/pub/cake')); | |
1853 $this->assertTrue(Validation::url('ftps://192.168.0.1/pub/cake')); | |
1854 $this->assertTrue(Validation::url('ftp://www.cakephp.org/pub/cake')); | |
1855 $this->assertTrue(Validation::url('ftp://cakephp.org/pub/cake')); | |
1856 $this->assertTrue(Validation::url('ftp://192.168.0.1/pub/cake')); | |
1857 $this->assertFalse(Validation::url('ftps://256.168.0.1/pub/cake')); | |
1858 $this->assertFalse(Validation::url('ftp://256.168.0.1/pub/cake')); | |
1859 $this->assertTrue(Validation::url('https://my.domain.com/gizmo/app?class=MySip;proc=start')); | |
1860 $this->assertTrue(Validation::url('www.domain.tld')); | |
1861 $this->assertFalse(Validation::url('http://w_w.domain.co_m')); | |
1862 $this->assertFalse(Validation::url('http://www.domain.12com')); | |
1863 $this->assertFalse(Validation::url('http://www.domain.longttldnotallowed')); | |
1864 $this->assertFalse(Validation::url('http://www.-invaliddomain.tld')); | |
1865 $this->assertFalse(Validation::url('http://www.domain.-invalidtld')); | |
1866 $this->assertTrue(Validation::url('http://123456789112345678921234567893123456789412345678951234567896123.com')); | |
1867 $this->assertFalse(Validation::url('http://this-domain-is-too-loooooong-by-icann-rules-maximum-length-is-63.com')); | |
1868 $this->assertTrue(Validation::url('http://www.domain.com/blogs/index.php?blog=6&tempskin=_rss2')); | |
1869 $this->assertTrue(Validation::url('http://www.domain.com/blogs/parenth()eses.php')); | |
1870 $this->assertTrue(Validation::url('http://www.domain.com/index.php?get=params&get2=params')); | |
1871 $this->assertTrue(Validation::url('http://www.domain.com/ndex.php?get=params&get2=params#anchor')); | |
1872 $this->assertFalse(Validation::url('http://www.domain.com/fakeenco%ode')); | |
1873 $this->assertTrue(Validation::url('http://www.domain.com/real%20url%20encodeing')); | |
1874 $this->assertTrue(Validation::url('http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)')); | |
1875 $this->assertFalse(Validation::url('http://en.(wikipedia).org/')); | |
1876 $this->assertFalse(Validation::url('www.cakephp.org', true)); | |
1877 $this->assertTrue(Validation::url('http://www.cakephp.org', true)); | |
1878 $this->assertTrue(Validation::url('http://example.com/~userdir/')); | |
1879 $this->assertTrue(Validation::url('http://example.com/~userdir/subdir/index.html')); | |
1880 $this->assertTrue(Validation::url('http://www.zwischenraume.de')); | |
1881 $this->assertTrue(Validation::url('http://www.zwischenraume.cz')); | |
1882 $this->assertTrue(Validation::url('http://www.last.fm/music/浜崎あゆみ'), 'utf8 path failed'); | |
1883 $this->assertTrue(Validation::url('http://www.electrohome.ro/images/239537750-284232-215_300[1].jpg')); | |
1884 | |
1885 $this->assertTrue(Validation::url('http://cakephp.org:80')); | |
1886 $this->assertTrue(Validation::url('http://cakephp.org:443')); | |
1887 $this->assertTrue(Validation::url('http://cakephp.org:2000')); | |
1888 $this->assertTrue(Validation::url('http://cakephp.org:27000')); | |
1889 $this->assertTrue(Validation::url('http://cakephp.org:65000')); | |
1890 | |
1891 $this->assertTrue(Validation::url('[2001:0db8::1428:57ab]')); | |
1892 $this->assertTrue(Validation::url('[::1]')); | |
1893 $this->assertTrue(Validation::url('[2001:0db8::1428:57ab]:80')); | |
1894 $this->assertTrue(Validation::url('[::1]:80')); | |
1895 $this->assertTrue(Validation::url('http://[2001:0db8::1428:57ab]')); | |
1896 $this->assertTrue(Validation::url('http://[::1]')); | |
1897 $this->assertTrue(Validation::url('http://[2001:0db8::1428:57ab]:80')); | |
1898 $this->assertTrue(Validation::url('http://[::1]:80')); | |
1899 | |
1900 $this->assertFalse(Validation::url('[1::2::3]')); | |
1901 } | |
1902 | |
1903 function testUuid() { | |
1904 $this->assertTrue(Validation::uuid('550e8400-e29b-11d4-a716-446655440000')); | |
1905 $this->assertFalse(Validation::uuid('BRAP-e29b-11d4-a716-446655440000')); | |
1906 $this->assertTrue(Validation::uuid('550E8400-e29b-11D4-A716-446655440000')); | |
1907 $this->assertFalse(Validation::uuid('550e8400-e29b11d4-a716-446655440000')); | |
1908 $this->assertFalse(Validation::uuid('550e8400-e29b-11d4-a716-4466440000')); | |
1909 $this->assertFalse(Validation::uuid('550e8400-e29b-11d4-a71-446655440000')); | |
1910 $this->assertFalse(Validation::uuid('550e8400-e29b-11d-a716-446655440000')); | |
1911 $this->assertFalse(Validation::uuid('550e8400-e29-11d4-a716-446655440000')); | |
1912 } | |
1913 | |
1914 /** | |
1915 * testInList method | |
1916 * | |
1917 * @access public | |
1918 * @return void | |
1919 */ | |
1920 function testInList() { | |
1921 $this->assertTrue(Validation::inList('one', array('one', 'two'))); | |
1922 $this->assertTrue(Validation::inList('two', array('one', 'two'))); | |
1923 $this->assertFalse(Validation::inList('three', array('one', 'two'))); | |
1924 } | |
1925 | |
1926 /** | |
1927 * testRange method | |
1928 * | |
1929 * @access public | |
1930 * @return void | |
1931 */ | |
1932 function testRange() { | |
1933 $this->assertFalse(Validation::range(20, 100, 1)); | |
1934 $this->assertTrue(Validation::range(20, 1, 100)); | |
1935 $this->assertFalse(Validation::range(.5, 1, 100)); | |
1936 $this->assertTrue(Validation::range(.5, 0, 100)); | |
1937 $this->assertTrue(Validation::range(5)); | |
1938 $this->assertTrue(Validation::range(-5, -10, 1)); | |
1939 $this->assertFalse(Validation::range('word')); | |
1940 } | |
1941 | |
1942 /** | |
1943 * testExtension method | |
1944 * | |
1945 * @access public | |
1946 * @return void | |
1947 */ | |
1948 function testExtension() { | |
1949 $this->assertTrue(Validation::extension('extension.jpeg')); | |
1950 $this->assertTrue(Validation::extension('extension.JPEG')); | |
1951 $this->assertTrue(Validation::extension('extension.gif')); | |
1952 $this->assertTrue(Validation::extension('extension.GIF')); | |
1953 $this->assertTrue(Validation::extension('extension.png')); | |
1954 $this->assertTrue(Validation::extension('extension.jpg')); | |
1955 $this->assertTrue(Validation::extension('extension.JPG')); | |
1956 $this->assertFalse(Validation::extension('noextension')); | |
1957 $this->assertTrue(Validation::extension('extension.pdf', array('PDF'))); | |
1958 $this->assertFalse(Validation::extension('extension.jpg', array('GIF'))); | |
1959 $this->assertTrue(Validation::extension(array('extension.JPG', 'extension.gif', 'extension.png'))); | |
1960 $this->assertTrue(Validation::extension(array('file' => array('name' => 'file.jpg')))); | |
1961 $this->assertTrue(Validation::extension(array('file1' => array('name' => 'file.jpg'), | |
1962 'file2' => array('name' => 'file.jpg'), | |
1963 'file3' => array('name' => 'file.jpg')))); | |
1964 $this->assertFalse(Validation::extension(array('file1' => array('name' => 'file.jpg'), | |
1965 'file2' => array('name' => 'file.jpg'), | |
1966 'file3' => array('name' => 'file.jpg')), array('gif'))); | |
1967 | |
1968 $this->assertFalse(Validation::extension(array('noextension', 'extension.JPG', 'extension.gif', 'extension.png'))); | |
1969 $this->assertFalse(Validation::extension(array('extension.pdf', 'extension.JPG', 'extension.gif', 'extension.png'))); | |
1970 } | |
1971 | |
1972 /** | |
1973 * testMoney method | |
1974 * | |
1975 * @access public | |
1976 * @return void | |
1977 */ | |
1978 function testMoney() { | |
1979 $this->assertTrue(Validation::money('$100')); | |
1980 $this->assertTrue(Validation::money('$100.11')); | |
1981 $this->assertTrue(Validation::money('$100.112')); | |
1982 $this->assertFalse(Validation::money('$100.1')); | |
1983 $this->assertFalse(Validation::money('$100.1111')); | |
1984 $this->assertFalse(Validation::money('text')); | |
1985 | |
1986 $this->assertTrue(Validation::money('100', 'right')); | |
1987 $this->assertTrue(Validation::money('100.11$', 'right')); | |
1988 $this->assertTrue(Validation::money('100.112$', 'right')); | |
1989 $this->assertFalse(Validation::money('100.1$', 'right')); | |
1990 $this->assertFalse(Validation::money('100.1111$', 'right')); | |
1991 | |
1992 $this->assertTrue(Validation::money('€100')); | |
1993 $this->assertTrue(Validation::money('€100.11')); | |
1994 $this->assertTrue(Validation::money('€100.112')); | |
1995 $this->assertFalse(Validation::money('€100.1')); | |
1996 $this->assertFalse(Validation::money('€100.1111')); | |
1997 | |
1998 $this->assertTrue(Validation::money('100', 'right')); | |
1999 $this->assertTrue(Validation::money('100.11€', 'right')); | |
2000 $this->assertTrue(Validation::money('100.112€', 'right')); | |
2001 $this->assertFalse(Validation::money('100.1€', 'right')); | |
2002 $this->assertFalse(Validation::money('100.1111€', 'right')); | |
2003 } | |
2004 | |
2005 /** | |
2006 * Test Multiple Select Validation | |
2007 * | |
2008 * @access public | |
2009 * @return void | |
2010 */ | |
2011 function testMultiple() { | |
2012 $this->assertTrue(Validation::multiple(array(0, 1, 2, 3))); | |
2013 $this->assertTrue(Validation::multiple(array(50, 32, 22, 0))); | |
2014 $this->assertTrue(Validation::multiple(array('str', 'var', 'enum', 0))); | |
2015 $this->assertFalse(Validation::multiple('')); | |
2016 $this->assertFalse(Validation::multiple(null)); | |
2017 $this->assertFalse(Validation::multiple(array())); | |
2018 $this->assertFalse(Validation::multiple(array(0))); | |
2019 $this->assertFalse(Validation::multiple(array('0'))); | |
2020 | |
2021 $this->assertTrue(Validation::multiple(array(0, 3, 4, 5), array('in' => range(0, 10)))); | |
2022 $this->assertFalse(Validation::multiple(array(0, 15, 20, 5), array('in' => range(0, 10)))); | |
2023 $this->assertFalse(Validation::multiple(array(0, 5, 10, 11), array('in' => range(0, 10)))); | |
2024 $this->assertFalse(Validation::multiple(array('boo', 'foo', 'bar'), array('in' => array('foo', 'bar', 'baz')))); | |
2025 | |
2026 $this->assertTrue(Validation::multiple(array(0, 5, 10, 11), array('max' => 3))); | |
2027 $this->assertFalse(Validation::multiple(array(0, 5, 10, 11, 55), array('max' => 3))); | |
2028 $this->assertTrue(Validation::multiple(array('foo', 'bar', 'baz'), array('max' => 3))); | |
2029 $this->assertFalse(Validation::multiple(array('foo', 'bar', 'baz', 'squirrel'), array('max' => 3))); | |
2030 | |
2031 $this->assertTrue(Validation::multiple(array(0, 5, 10, 11), array('min' => 3))); | |
2032 $this->assertTrue(Validation::multiple(array(0, 5, 10, 11, 55), array('min' => 3))); | |
2033 $this->assertFalse(Validation::multiple(array('foo', 'bar', 'baz'), array('min' => 5))); | |
2034 $this->assertFalse(Validation::multiple(array('foo', 'bar', 'baz', 'squirrel'), array('min' => 10))); | |
2035 | |
2036 $this->assertTrue(Validation::multiple(array(0, 5, 9), array('in' => range(0, 10), 'max' => 5))); | |
2037 $this->assertFalse(Validation::multiple(array(0, 5, 9, 8, 6, 2, 1), array('in' => range(0, 10), 'max' => 5))); | |
2038 $this->assertFalse(Validation::multiple(array(0, 5, 9, 8, 11), array('in' => range(0, 10), 'max' => 5))); | |
2039 | |
2040 $this->assertFalse(Validation::multiple(array(0, 5, 9), array('in' => range(0, 10), 'max' => 5, 'min' => 3))); | |
2041 $this->assertFalse(Validation::multiple(array(0, 5, 9, 8, 6, 2, 1), array('in' => range(0, 10), 'max' => 5, 'min' => 2))); | |
2042 $this->assertFalse(Validation::multiple(array(0, 5, 9, 8, 11), array('in' => range(0, 10), 'max' => 5, 'min' => 2))); | |
2043 } | |
2044 | |
2045 /** | |
2046 * testNumeric method | |
2047 * | |
2048 * @access public | |
2049 * @return void | |
2050 */ | |
2051 function testNumeric() { | |
2052 $this->assertFalse(Validation::numeric('teststring')); | |
2053 $this->assertFalse(Validation::numeric('1.1test')); | |
2054 $this->assertFalse(Validation::numeric('2test')); | |
2055 | |
2056 $this->assertTrue(Validation::numeric('2')); | |
2057 $this->assertTrue(Validation::numeric(2)); | |
2058 $this->assertTrue(Validation::numeric(2.2)); | |
2059 $this->assertTrue(Validation::numeric('2.2')); | |
2060 } | |
2061 | |
2062 /** | |
2063 * testPhone method | |
2064 * | |
2065 * @access public | |
2066 * @return void | |
2067 */ | |
2068 function testPhone() { | |
2069 $this->assertFalse(Validation::phone('teststring')); | |
2070 $this->assertFalse(Validation::phone('1-(33)-(333)-(4444)')); | |
2071 $this->assertFalse(Validation::phone('1-(33)-3333-4444')); | |
2072 $this->assertFalse(Validation::phone('1-(33)-33-4444')); | |
2073 $this->assertFalse(Validation::phone('1-(33)-3-44444')); | |
2074 $this->assertFalse(Validation::phone('1-(33)-3-444')); | |
2075 $this->assertFalse(Validation::phone('1-(33)-3-44')); | |
2076 | |
2077 $this->assertFalse(Validation::phone('(055) 999-9999')); | |
2078 $this->assertFalse(Validation::phone('(155) 999-9999')); | |
2079 $this->assertFalse(Validation::phone('(595) 999-9999')); | |
2080 $this->assertFalse(Validation::phone('(555) 099-9999')); | |
2081 $this->assertFalse(Validation::phone('(555) 199-9999')); | |
2082 | |
2083 $this->assertTrue(Validation::phone('1 (222) 333 4444')); | |
2084 $this->assertTrue(Validation::phone('+1 (222) 333 4444')); | |
2085 $this->assertTrue(Validation::phone('(222) 333 4444')); | |
2086 | |
2087 $this->assertTrue(Validation::phone('1-(333)-333-4444')); | |
2088 $this->assertTrue(Validation::phone('1.(333)-333-4444')); | |
2089 $this->assertTrue(Validation::phone('1.(333).333-4444')); | |
2090 $this->assertTrue(Validation::phone('1.(333).333.4444')); | |
2091 $this->assertTrue(Validation::phone('1-333-333-4444')); | |
2092 } | |
2093 | |
2094 /** | |
2095 * testPostal method | |
2096 * | |
2097 * @access public | |
2098 * @return void | |
2099 */ | |
2100 function testPostal() { | |
2101 $this->assertFalse(Validation::postal('111', null, 'de')); | |
2102 $this->assertFalse(Validation::postal('1111', null, 'de')); | |
2103 $this->assertTrue(Validation::postal('13089', null, 'de')); | |
2104 | |
2105 $this->assertFalse(Validation::postal('111', null, 'be')); | |
2106 $this->assertFalse(Validation::postal('0123', null, 'be')); | |
2107 $this->assertTrue(Validation::postal('1204', null, 'be')); | |
2108 | |
2109 $this->assertFalse(Validation::postal('111', null, 'it')); | |
2110 $this->assertFalse(Validation::postal('1111', null, 'it')); | |
2111 $this->assertTrue(Validation::postal('13089', null, 'it')); | |
2112 | |
2113 $this->assertFalse(Validation::postal('111', null, 'uk')); | |
2114 $this->assertFalse(Validation::postal('1111', null, 'uk')); | |
2115 $this->assertFalse(Validation::postal('AZA 0AB', null, 'uk')); | |
2116 $this->assertFalse(Validation::postal('X0A 0ABC', null, 'uk')); | |
2117 $this->assertTrue(Validation::postal('X0A 0AB', null, 'uk')); | |
2118 $this->assertTrue(Validation::postal('AZ0A 0AA', null, 'uk')); | |
2119 $this->assertTrue(Validation::postal('A89 2DD', null, 'uk')); | |
2120 | |
2121 $this->assertFalse(Validation::postal('111', null, 'ca')); | |
2122 $this->assertFalse(Validation::postal('1111', null, 'ca')); | |
2123 $this->assertFalse(Validation::postal('D2A 0A0', null, 'ca')); | |
2124 $this->assertFalse(Validation::postal('BAA 0ABC', null, 'ca')); | |
2125 $this->assertFalse(Validation::postal('B2A AABC', null, 'ca')); | |
2126 $this->assertFalse(Validation::postal('B2A 2AB', null, 'ca')); | |
2127 $this->assertTrue(Validation::postal('X0A 0A2', null, 'ca')); | |
2128 $this->assertTrue(Validation::postal('G4V 4C3', null, 'ca')); | |
2129 $this->assertTrue(Validation::postal('L4J8D6', null, 'ca')); | |
2130 | |
2131 $this->assertFalse(Validation::postal('111', null, 'us')); | |
2132 $this->assertFalse(Validation::postal('1111', null, 'us')); | |
2133 $this->assertFalse(Validation::postal('130896', null, 'us')); | |
2134 $this->assertFalse(Validation::postal('13089-33333', null, 'us')); | |
2135 $this->assertFalse(Validation::postal('13089-333', null, 'us')); | |
2136 $this->assertFalse(Validation::postal('13A89-4333', null, 'us')); | |
2137 $this->assertTrue(Validation::postal('13089-3333', null, 'us')); | |
2138 | |
2139 $this->assertFalse(Validation::postal('111')); | |
2140 $this->assertFalse(Validation::postal('1111')); | |
2141 $this->assertFalse(Validation::postal('130896')); | |
2142 $this->assertFalse(Validation::postal('13089-33333')); | |
2143 $this->assertFalse(Validation::postal('13089-333')); | |
2144 $this->assertFalse(Validation::postal('13A89-4333')); | |
2145 $this->assertTrue(Validation::postal('13089-3333')); | |
2146 } | |
2147 | |
2148 /** | |
2149 * test that phone and postal pass to other classes. | |
2150 * | |
2151 * @return void | |
2152 */ | |
2153 function testPhonePostalSsnPass() { | |
2154 $this->assertTrue(Validation::postal('text', null, 'testNl')); | |
2155 $this->assertTrue(Validation::phone('text', null, 'testDe')); | |
2156 $this->assertTrue(Validation::ssn('text', null, 'testNl')); | |
2157 } | |
2158 | |
2159 /** | |
2160 * test the pass through calling of an alternate locale with postal() | |
2161 * | |
2162 * @return void | |
2163 **/ | |
2164 function testPassThroughMethod() { | |
2165 $this->assertTrue(Validation::postal('text', null, 'testNl')); | |
2166 | |
2167 $this->expectError('Could not find AUTOFAILValidation class, unable to complete validation.'); | |
2168 Validation::postal('text', null, 'AUTOFAIL'); | |
2169 | |
2170 $this->expectError('Method phone does not exist on TestNlValidation unable to complete validation.'); | |
2171 Validation::phone('text', null, 'testNl'); | |
2172 } | |
2173 | |
2174 /** | |
2175 * testSsn method | |
2176 * | |
2177 * @access public | |
2178 * @return void | |
2179 */ | |
2180 function testSsn() { | |
2181 $this->assertFalse(Validation::ssn('111-333', null, 'dk')); | |
2182 $this->assertFalse(Validation::ssn('111111-333', null, 'dk')); | |
2183 $this->assertTrue(Validation::ssn('111111-3334', null, 'dk')); | |
2184 | |
2185 $this->assertFalse(Validation::ssn('1118333', null, 'nl')); | |
2186 $this->assertFalse(Validation::ssn('1234567890', null, 'nl')); | |
2187 $this->assertFalse(Validation::ssn('12345A789', null, 'nl')); | |
2188 $this->assertTrue(Validation::ssn('123456789', null, 'nl')); | |
2189 | |
2190 $this->assertFalse(Validation::ssn('11-33-4333', null, 'us')); | |
2191 $this->assertFalse(Validation::ssn('113-3-4333', null, 'us')); | |
2192 $this->assertFalse(Validation::ssn('111-33-333', null, 'us')); | |
2193 $this->assertTrue(Validation::ssn('111-33-4333', null, 'us')); | |
2194 } | |
2195 | |
2196 /** | |
2197 * testUserDefined method | |
2198 * | |
2199 * @access public | |
2200 * @return void | |
2201 */ | |
2202 function testUserDefined() { | |
2203 $validator = new CustomValidator; | |
2204 $this->assertFalse(Validation::userDefined('33', $validator, 'customValidate')); | |
2205 $this->assertFalse(Validation::userDefined('3333', $validator, 'customValidate')); | |
2206 $this->assertTrue(Validation::userDefined('333', $validator, 'customValidate')); | |
2207 } | |
2208 | |
2209 } |