Source of file NetefxValidatorTest.php
Size: 28,049 Bytes - Last Modified: 2021-12-23T10:02:33+00:00
/var/www/docs.ssmods.com/process/src/code/tests/NetefxValidatorTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889 | <?php /** * @package NetefxValidator * @author lx-berlin * @author Zauberfisch */ class NetefxValidatorTest extends SapphireTest { public static $fixture_file = 'NetefxValidator/code/tests/NetefxValidatorTest.yml'; public function testREQUIRED() { $rule = new NetefxValidatorRuleREQUIRED('testField'); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'test'); $this->assertTrue($rule->validate($data)); } public function testEMPTY() { $rule = new NetefxValidatorRuleEMPTY('testField'); $data = array('testField' => ''); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'test'); $this->assertFalse($rule->validate($data)); } public function testEXISTS() { $rule = new NetefxValidatorRuleEXISTS('testField'); $data = array(); $this->assertFalse($rule->validate($data)); $data = array('testField' => ''); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'test'); $this->assertTrue($rule->validate($data)); } public function testOR() { $rule = new NetefxValidatorRuleOR('testFieldOR', null, null, array( new NetefxValidatorRuleREQUIRED('testField'), new NetefxValidatorRuleEMPTY('testField2'), new NetefxValidatorRuleEXISTS('testField3') )); $data = array('testField' => 'test', 'testField2' => 'test'); $this->assertTrue($rule->validate($data)); // rule 1 is valid $data = array('testField' => '', 'testField2' => ''); $this->assertTrue($rule->validate($data)); // rule 2 is valid $data = array('testField' => '', 'testField2' => 'test', 'testField3' => ''); $this->assertTrue($rule->validate($data)); // rule 3 is valid $data = array('testField' => 'test', 'testField2' => ''); $this->assertTrue($rule->validate($data)); // rule 1 & 2 are valid $data = array('testField' => '', 'testField2' => '', 'testField3' => ''); $this->assertTrue($rule->validate($data)); // rule 2 & 3 are valid $data = array('testField' => 'test', 'testField2' => 'test', 'testField3' => ''); $this->assertTrue($rule->validate($data)); // rule 1 & 3 is valid $data = array('testField' => 'test', 'testField2' => '', 'testField3' => ''); $this->assertTrue($rule->validate($data)); // rule 1 & 2 & 3 is valid $data = array('testField' => '', 'testField2' => 'test'); $this->assertFalse($rule->validate($data)); // none valid } public function testAND() { $rule = new NetefxValidatorRuleAND('testFieldAND', null, null, array( new NetefxValidatorRuleREQUIRED('testField'), new NetefxValidatorRuleEMPTY('testField2'), new NetefxValidatorRuleEXISTS('testField3') )); $data = array('testField' => 'test', 'testField2' => 'test'); $this->assertFalse($rule->validate($data)); // rule 1 is valid $data = array('testField' => '', 'testField2' => ''); $this->assertFalse($rule->validate($data)); // rule 2 is valid $data = array('testField' => '', 'testField2' => 'test', 'testField3' => ''); $this->assertFalse($rule->validate($data)); // rule 3 is valid $data = array('testField' => 'test', 'testField2' => ''); $this->assertFalse($rule->validate($data)); // rule 1 & 2 are valid $data = array('testField' => '', 'testField2' => '', 'testField3' => ''); $this->assertFalse($rule->validate($data)); // rule 2 & 3 are valid $data = array('testField' => 'test', 'testField2' => 'test', 'testField3' => ''); $this->assertFalse($rule->validate($data)); // rule 1 & 3 is valid $data = array('testField' => 'test', 'testField2' => '', 'testField3' => ''); $this->assertTrue($rule->validate($data)); // rule 1 & 2 & 3 is valid $data = array('testField' => '', 'testField2' => 'test'); $this->assertFalse($rule->validate($data)); // none valid } public function testXOR() { $rule = new NetefxValidatorRuleXOR('testFieldXOR', null, null, array( new NetefxValidatorRuleREQUIRED('testField'), new NetefxValidatorRuleEMPTY('testField2'), new NetefxValidatorRuleEXISTS('testField3') )); $data = array('testField' => 'test', 'testField2' => 'test'); $this->assertTrue($rule->validate($data)); // rule 1 is valid $data = array('testField' => '', 'testField2' => ''); $this->assertTrue($rule->validate($data)); // rule 2 is valid $data = array('testField' => '', 'testField2' => 'test', 'testField3' => ''); $this->assertTrue($rule->validate($data)); // rule 3 is valid $data = array('testField' => 'test', 'testField2' => ''); $this->assertFalse($rule->validate($data)); // rule 1 & 2 are valid $data = array('testField' => '', 'testField2' => '', 'testField3' => ''); $this->assertFalse($rule->validate($data)); // rule 2 & 3 are valid $data = array('testField' => 'test', 'testField2' => 'test', 'testField3' => ''); $this->assertFalse($rule->validate($data)); // rule 1 & 3 is valid $data = array('testField' => 'test', 'testField2' => '', 'testField3' => ''); $this->assertFalse($rule->validate($data)); // rule 1 & 2 & 3 is valid $data = array('testField' => '', 'testField2' => 'test'); $this->assertFalse($rule->validate($data)); // none valid } public function testNOT() { $rule = new NetefxValidatorRuleNOT('testField', null, null, new NetefxValidatorRuleREQUIRED('testField2')); $data = array('testField2' => ''); $this->assertTrue($rule->validate($data)); $data = array('testField2' => 'test'); $this->assertFalse($rule->validate($data)); } public function testIMPLIES() { $rule = new NetefxValidatorRuleIMPLIES('testFieldIMPLIES', null, null, array(new NetefxValidatorRuleREQUIRED('testField'), new NetefxValidatorRuleREQUIRED('testField2'))); $data = array('testField' => ''); $this->assertTrue($rule->validate($data)); $data = array('testField' => '', 'testField2' => ''); $this->assertTrue($rule->validate($data)); $data = array('testField' => '', 'testField2' => 'test'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'test', 'testField2' => 'test'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'test', 'testField2' => ''); $this->assertFalse($rule->validate($data)); } public function testGREATER() { $rule = new NetefxValidatorRuleGREATER('testField', null, null, 10); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '11'); $this->assertTrue($rule->validate($data)); $rule = new NetefxValidatorRuleGREATER('testField', null, null, array(10, ',')); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '11'); $this->assertTrue($rule->validate($data)); } public function testGREATEREQUAL() { $rule = new NetefxValidatorRuleGREATEREQUAL('testField', null, null, 10); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '11'); $this->assertTrue($rule->validate($data)); $rule = new NetefxValidatorRuleGREATEREQUAL('testField', null, null, array(10, ',')); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '11'); $this->assertTrue($rule->validate($data)); } public function testSMALLER() { $rule = new NetefxValidatorRuleSMALLER('testField', null, null, 10); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '11'); $this->assertFalse($rule->validate($data)); $rule = new NetefxValidatorRuleSMALLER('testField', null, null, array(10, ',')); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '11'); $this->assertFalse($rule->validate($data)); } public function testSMALLEREQUAL() { $rule = new NetefxValidatorRuleSMALLEREQUAL('testField', null, null, 10); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '11'); $this->assertFalse($rule->validate($data)); $rule = new NetefxValidatorRuleSMALLEREQUAL('testField', null, null, array(10, ',')); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '11'); $this->assertFalse($rule->validate($data)); } public function testEQUALS() { $rule = new NetefxValidatorRuleEQUALS('testField', null, null, 10); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '11'); $this->assertFalse($rule->validate($data)); $rule = new NetefxValidatorRuleEQUALS('testField', null, null, array(10, ',')); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '11'); $this->assertFalse($rule->validate($data)); } public function testBETWEEN() { $rule = new NetefxValidatorRuleBETWEEN('testField', null, null, array(10, 20)); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '11'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '19'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '20'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '20.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '20,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '21'); $this->assertFalse($rule->validate($data)); $rule = new NetefxValidatorRuleBETWEEN('testField', null, null, array(10, 20, ',')); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9.9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '9,9'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.0'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,0'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '10.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '10,1'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '11'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '19'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '20'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '20.1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '20,1'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '21'); $this->assertFalse($rule->validate($data)); } public function testREGEXP() { $rule = new NetefxValidatorRuleREGEXP('testField'); // TODO write this test } public function testTEXTEQUALS() { $rule = new NetefxValidatorRuleTEXTEQUALS('testField', null, null, 'testField2'); $data = array('testField' => '', 'testField2' => ''); $this->assertTrue($rule->validate($data)); $data = array('testField' => '', 'testField2' => ' '); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'test', 'testField2' => 'test'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'test', 'testField2' => 'Test'); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'test', 'testField2' => 'test2'); $this->assertFalse($rule->validate($data)); } public function testTEXTIS() { $rule = new NetefxValidatorRuleTEXTIS('testField', null, null, 'test'); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'test'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'TeSt'); $this->assertFalse($rule->validate($data)); $rule = new NetefxValidatorRuleTEXTIS('testField', null, null, ''); $data = array('testField' => ''); $this->assertTrue($rule->validate($data)); $data = array('testField' => ' '); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'test'); $this->assertFalse($rule->validate($data)); } public function testTEXTCONTAINS() { $rule = new NetefxValidatorRuleTEXTCONTAINS('testField', null, null, 'test'); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'test'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'TeSt'); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'testtestttest'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'xtesxtx'); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'testxx'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'xxtestxx'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'xxtest'); $this->assertTrue($rule->validate($data)); } public function testINARRAY() { $rule = new NetefxValidatorRuleINARRAY('testField', null, null, array('zauberfisch', 'is', 'awesum')); $data = array('testField' => 'zauberfisch is awesum'); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'awesum'); $this->assertTrue($rule->validate($data)); $data = array('testField' => ' is '); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'fisch'); $this->assertFalse($rule->validate($data)); } public function testNOTINARRAY() { $rule = new NetefxValidatorRuleNOTINARRAY('testField', null, null, array('zauberfisch', 'is', 'awesum')); $data = array('testField' => 'zauberfisch is awesum'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'awesum'); $this->assertFalse($rule->validate($data)); $data = array('testField' => ' is '); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'fisch'); $this->assertTrue($rule->validate($data)); } public function testMINCHARACTERS() { $rule = new NetefxValidatorRuleMINCHARACTERS('testField', null, null, 10); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '123456789'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '1234567890'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '12345678901'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'testtest '); $this->assertFalse($rule->validate($data)); $data = array('testField' => ' testtest '); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'test test '); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'test test1'); $this->assertTrue($rule->validate($data)); } public function testMAXCHARACTERS() { $rule = new NetefxValidatorRuleMAXCHARACTERS('testField', null, null, 9); $data = array('testField' => ''); $this->assertTrue($rule->validate($data)); $data = array('testField' => '123456789'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '1234567890'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '12345678901'); $this->assertFalse($rule->validate($data)); $data = array('testField' => ' testtest '); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'test test '); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'test test1'); $this->assertFalse($rule->validate($data)); } public function testCHARACTERSBETWEEN() { $rule = new NetefxValidatorRuleCHARACTERSBETWEEN('testField', null, null, array(9, 11)); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $data = array('testField' => '12345678'); $this->assertFalse($rule->validate($data)); $data = array('testField' => '123456789'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '1234567890'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '12345678901'); $this->assertTrue($rule->validate($data)); $data = array('testField' => ' testtest '); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'test test '); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'test test1'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'test test 1'); $this->assertTrue($rule->validate($data)); $data = array('testField' => 'test test 12'); $this->assertFalse($rule->validate($data)); } public function testUNIQUE() { $rule = new NetefxValidatorRuleUNIQUE('testField', null, null, array('Page', 'URLSegment')); $data = array('testField' => 'home'); $this->assertFalse($rule->validate($data)); $data = array('testField' => 'siteThatDoesNotExist'); $this->assertTrue($rule->validate($data)); $data = array('testField' => '1-1-test-product'); $this->assertFalse($rule->validate($data)); $data = array('testField' => 1930); $this->assertFalse($rule->validate($data)); $rule = new NetefxValidatorRuleUNIQUE('testField', null, null, array('Page', 'URLSegment', 'testField', 'URLSegment')); $data = array('testField' => 'home'); $this->assertTrue($rule->validate($data)); } public function testFUNCTION() { $code = 'if ($data["testField"] == "test") $return = true; else $return = false;'; $rule = new NetefxValidatorRuleFUNCTION("testField", null, null, $code); $data = array('testField' => 'test'); $this->assertTrue($rule->validate($data)); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $class = 'NetefxValidatorTest'; $function = 'helper_FUNCTION_var'; $args = false; $rule = new NetefxValidatorRuleFUNCTION("testField", null, null, array($class, $function, $args)); $data = array('testField' => 'test'); $this->assertFalse($rule->validate($data)); $class = 'NetefxValidatorTest'; $function = 'helper_FUNCTION_var'; $args = true; $rule = new NetefxValidatorRuleFUNCTION("testField", null, null, array($class, $function, $args)); $data = array('testField' => 'test'); $this->assertTrue($rule->validate($data)); $object = new NetefxValidatorTest(); $function = 'helperFUNCTIONvar'; $args = false; $rule = new NetefxValidatorRuleFUNCTION("testField", null, null, array($object, $function, $args)); $data = array('testField' => 'test'); $this->assertFalse($rule->validate($data)); $object = new NetefxValidatorTest(); $function = 'helperFUNCTIONvar'; $args = true; $rule = new NetefxValidatorRuleFUNCTION("testField", null, null, array($object, $function, $args)); $data = array('testField' => 'test'); $this->assertTrue($rule->validate($data)); $function = create_function('$data,$args', 'if ($data["testField"] == "test") return true; else return false;'); $args = array(); $rule = new NetefxValidatorRuleFUNCTION("testField", null, null, array($function, $args)); $data = array('testField' => 'test'); $this->assertTrue($rule->validate($data)); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); $function = function($data, $args) { if ($data['testField'] == 'test') return true; else return false; }; $args = array(); $rule = new NetefxValidatorRuleFUNCTION("testField", null, null, array($function, $args)); $data = array('testField' => 'test'); $this->assertTrue($rule->validate($data)); $data = array('testField' => ''); $this->assertFalse($rule->validate($data)); } public static function helper_FUNCTION_var($data = null, $args = null) { return $args; } public function helperFUNCTIONvar($data = null, $args = null) { return $args; } } |