/MyDBM-1.0/soter-test.php
PHP | 124 lines | 102 code | 16 blank | 6 comment | 3 complexity | 740e060ae72f169c37abbe0988ce5d5f MD5 | raw file
- <?php
- /**
- * Script to test all of Soter's capabilities
- *
- * @author Dayan Paez
- * @created 2012-03-29
- */
- require_once(dirname(__FILE__).'/Soter.php');
- $S = new Soter();
- $v = 't';
- $fmt = " %25s -> %s\n";
- $passed = 0;
- $failed = 0;
- $now = new DateTime();
- print("1. Checking for valid values\n");
- printf($fmt, 3, $S->reqInt(array($v => 3), $v, 1, 4));
- printf($fmt, 3.2, $S->reqFloat(array($v => 3.2), $v, 1, 4));
- printf($fmt, 'key', $S->reqKey(array($v => 'key'), $v, array('key'=>'val')));
- printf($fmt, 'val', $S->reqValue(array($v => 'val'), $v, array('key'=>'val')));
- printf($fmt, 'string', $S->reqString(array($v => 'string'), $v, 1, 10));
- printf($fmt, '[3, 2]', '['.implode(', ', $S->reqList(array($v=>array(3,2)), $v)).']');
- printf($fmt, $now->format('Y/m/d H:i:s'), $S->reqDate(array($v=>$now->format('Y/m/d H:i:s')), $v)->format('Y/m/d H:i:s'));
- printf($fmt, 'test@example.com', $S->reqEmail(array($v => 'test@xample.com'), $v));
- print("\n\n2. Checking for invalid values\n");
- $fmt = "ERROR: %s\n";
- printf("\n- Integer between 1, 4\n");
- $args = array();
- try { $S->reqInt($args, $v, 1, 4, "Invalid integer: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- foreach (array('str', 0, 5) as $val) {
- $args[$v] = $val;
- try { $S->reqInt($args, $v, 1, 4, "Invalid integer: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- }
- printf("\n- Float between 1.0, 4.0\n");
- $args = array();
- try { $S->reqFloat($args, $v, 1, 4, "Invalid float: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- foreach (array('str', 0.3, 4.1) as $val) {
- $args[$v] = $val;
- try { $S->reqFloat($args, $v, 1.0, 4.0, "Invalid float: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- }
- printf("\n- Key in ['foo', 'bar'] \n");
- $keys = array('foo'=>1);
- $args = array();
- try { $S->reqKey($args, $v, $keys, "Invalid key: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- $args[$v] = 'bar';
- try { $S->reqKey($args, $v, $keys, "Invalid key: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- printf("\n- Val in ['foo', 'bar'] \n");
- $keys = array('foo');
- $args = array();
- try { $S->reqValue($args, $v, $keys, "Invalid value: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- $args[$v] = 'bar';
- try { $S->reqValue($args, $v, $keys, "Invalid value: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- printf("\n- String: 2 <= length < 10\n");
- $args = array();
- try { $S->reqString($args, $v, 2, 10, "Invalid string: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- foreach (array('H', 'Too long a message?', new stdClass(), 'a'.chr(145).'b') as $val) {
- $args[$v] = $val;
- try { $S->reqString($args, $v, 2, 10, "Invalid string: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- }
- printf("\n- List of size 3\n");
- $args = array();
- try { $S->reqList($args, $v, 3, "Invalid list: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- $args[$v] = array(1,2);
- try { $S->reqList($args, $v, 3, "Invalid list: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- printf("\n- List of no size\n");
- try { $S->reqList($args, $v, null, "Invalid list: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- printf("! We expect no output if working properly\n");
- printf("\n- Map with keys ['foo', 'bar'] of size 3\n");
- $keys = array('foo', 'bar');
- $args = array();
- try { $S->reqMap($args, $keys, 3, "Invalid map: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- $args = array('foo'=>array(1,2,3), 'bar'=>3);
- try { $S->reqMap($args, $keys, 3, "Invalid map: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- $args = array('foo'=>array(1,2), 'bar'=>array(3,4));
- try { $S->reqMap($args, $keys, 3, "Invalid map: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- printf("\n- Map with keys ['foo', 'bar'] of any size\n");
- $args = array('foo'=>array(1,2), 'bar'=>array(3,4,5));
- try { $S->reqMap($args, $keys, null, "Invalid map: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- printf("\n- Date: 2010-01-01 <= x < 2011-01-01\n");
- $args = array();
- $min = new DateTime('2010-01-01');
- $max = new DateTime('2011-01-01');
- try { $S->reqDate($args, $v, $min, $max, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- foreach (array('foo', '2009-01-01', '2011-01-01') as $val) {
- $args[$v] = $val;
- try { $S->reqDate($args, $v, $min, $max, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- }
- printf("\n- Date: x < 2011-01-01\n");
- $args = array();
- try { $S->reqDate($args, $v, null, $max, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- foreach (array('foo', '2009-01-01', '2011-01-01') as $val) {
- $args[$v] = $val;
- try { $S->reqDate($args, $v, null, $max, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- }
- printf("\n- Date: 2010-01-01 <= x\n");
- $args = array();
- try { $S->reqDate($args, $v, $min, null, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- foreach (array('foo', '2009-01-01', '2011-01-01') as $val) {
- $args[$v] = $val;
- try { $S->reqDate($args, $v, $min, null, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- }
- printf("\n- Email: foo@localhost, \"random string\"\n");
- $args = array();
- try { $S->reqEmail($args, $v, "Invalid email: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- foreach (array('foo@localhost', 'random string', 'foo@localhost.localdomain') as $val) {
- $args[$v] = $val;
- try { $S->reqEmail($args, $v, "Invalid email: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
- }
- ?>