PageRenderTime 52ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/MyDBM-1.0/soter-test.php

https://bitbucket.org/dpv140/phplib
PHP | 124 lines | 102 code | 16 blank | 6 comment | 3 complexity | 740e060ae72f169c37abbe0988ce5d5f MD5 | raw file
  1. <?php
  2. /**
  3. * Script to test all of Soter's capabilities
  4. *
  5. * @author Dayan Paez
  6. * @created 2012-03-29
  7. */
  8. require_once(dirname(__FILE__).'/Soter.php');
  9. $S = new Soter();
  10. $v = 't';
  11. $fmt = " %25s -> %s\n";
  12. $passed = 0;
  13. $failed = 0;
  14. $now = new DateTime();
  15. print("1. Checking for valid values\n");
  16. printf($fmt, 3, $S->reqInt(array($v => 3), $v, 1, 4));
  17. printf($fmt, 3.2, $S->reqFloat(array($v => 3.2), $v, 1, 4));
  18. printf($fmt, 'key', $S->reqKey(array($v => 'key'), $v, array('key'=>'val')));
  19. printf($fmt, 'val', $S->reqValue(array($v => 'val'), $v, array('key'=>'val')));
  20. printf($fmt, 'string', $S->reqString(array($v => 'string'), $v, 1, 10));
  21. printf($fmt, '[3, 2]', '['.implode(', ', $S->reqList(array($v=>array(3,2)), $v)).']');
  22. 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'));
  23. printf($fmt, 'test@example.com', $S->reqEmail(array($v => 'test@xample.com'), $v));
  24. print("\n\n2. Checking for invalid values\n");
  25. $fmt = "ERROR: %s\n";
  26. printf("\n- Integer between 1, 4\n");
  27. $args = array();
  28. try { $S->reqInt($args, $v, 1, 4, "Invalid integer: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  29. foreach (array('str', 0, 5) as $val) {
  30. $args[$v] = $val;
  31. try { $S->reqInt($args, $v, 1, 4, "Invalid integer: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  32. }
  33. printf("\n- Float between 1.0, 4.0\n");
  34. $args = array();
  35. try { $S->reqFloat($args, $v, 1, 4, "Invalid float: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  36. foreach (array('str', 0.3, 4.1) as $val) {
  37. $args[$v] = $val;
  38. try { $S->reqFloat($args, $v, 1.0, 4.0, "Invalid float: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  39. }
  40. printf("\n- Key in ['foo', 'bar'] \n");
  41. $keys = array('foo'=>1);
  42. $args = array();
  43. try { $S->reqKey($args, $v, $keys, "Invalid key: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  44. $args[$v] = 'bar';
  45. try { $S->reqKey($args, $v, $keys, "Invalid key: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  46. printf("\n- Val in ['foo', 'bar'] \n");
  47. $keys = array('foo');
  48. $args = array();
  49. try { $S->reqValue($args, $v, $keys, "Invalid value: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  50. $args[$v] = 'bar';
  51. try { $S->reqValue($args, $v, $keys, "Invalid value: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  52. printf("\n- String: 2 <= length < 10\n");
  53. $args = array();
  54. try { $S->reqString($args, $v, 2, 10, "Invalid string: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  55. foreach (array('H', 'Too long a message?', new stdClass(), 'a'.chr(145).'b') as $val) {
  56. $args[$v] = $val;
  57. try { $S->reqString($args, $v, 2, 10, "Invalid string: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  58. }
  59. printf("\n- List of size 3\n");
  60. $args = array();
  61. try { $S->reqList($args, $v, 3, "Invalid list: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  62. $args[$v] = array(1,2);
  63. try { $S->reqList($args, $v, 3, "Invalid list: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  64. printf("\n- List of no size\n");
  65. try { $S->reqList($args, $v, null, "Invalid list: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  66. printf("! We expect no output if working properly\n");
  67. printf("\n- Map with keys ['foo', 'bar'] of size 3\n");
  68. $keys = array('foo', 'bar');
  69. $args = array();
  70. try { $S->reqMap($args, $keys, 3, "Invalid map: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  71. $args = array('foo'=>array(1,2,3), 'bar'=>3);
  72. try { $S->reqMap($args, $keys, 3, "Invalid map: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  73. $args = array('foo'=>array(1,2), 'bar'=>array(3,4));
  74. try { $S->reqMap($args, $keys, 3, "Invalid map: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  75. printf("\n- Map with keys ['foo', 'bar'] of any size\n");
  76. $args = array('foo'=>array(1,2), 'bar'=>array(3,4,5));
  77. try { $S->reqMap($args, $keys, null, "Invalid map: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  78. printf("\n- Date: 2010-01-01 <= x < 2011-01-01\n");
  79. $args = array();
  80. $min = new DateTime('2010-01-01');
  81. $max = new DateTime('2011-01-01');
  82. try { $S->reqDate($args, $v, $min, $max, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  83. foreach (array('foo', '2009-01-01', '2011-01-01') as $val) {
  84. $args[$v] = $val;
  85. try { $S->reqDate($args, $v, $min, $max, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  86. }
  87. printf("\n- Date: x < 2011-01-01\n");
  88. $args = array();
  89. try { $S->reqDate($args, $v, null, $max, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  90. foreach (array('foo', '2009-01-01', '2011-01-01') as $val) {
  91. $args[$v] = $val;
  92. try { $S->reqDate($args, $v, null, $max, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  93. }
  94. printf("\n- Date: 2010-01-01 <= x\n");
  95. $args = array();
  96. try { $S->reqDate($args, $v, $min, null, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  97. foreach (array('foo', '2009-01-01', '2011-01-01') as $val) {
  98. $args[$v] = $val;
  99. try { $S->reqDate($args, $v, $min, null, "Invalid date: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  100. }
  101. printf("\n- Email: foo@localhost, \"random string\"\n");
  102. $args = array();
  103. try { $S->reqEmail($args, $v, "Invalid email: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  104. foreach (array('foo@localhost', 'random string', 'foo@localhost.localdomain') as $val) {
  105. $args[$v] = $val;
  106. try { $S->reqEmail($args, $v, "Invalid email: %s"); } catch (SoterException $e) { printf($fmt, $e->getMessage()); }
  107. }
  108. ?>