Odyssey
Public Member Functions | Static Protected Attributes | List of all members
FilterInputTests Class Reference
Inheritance diagram for FilterInputTests:

Public Member Functions

 setUp ()
 
 test_post_filter ()
 
 myTestHCU_ImportVars ($pFieldVal, $pFilter)
 

Static Protected Attributes

static $testValues
 
static $testOptions
 

Detailed Description

Definition at line 24 of file FilterInputTest.php.

Member Function Documentation

◆ myTestHCU_ImportVars()

FilterInputTests::myTestHCU_ImportVars (   $pFieldVal,
  $pFilter 
)

return the results of the test using the parameters passed in

Definition at line 187 of file FilterInputTest.php.

187  {
188  $fieldFilter = 0;
189  $fieldFlags = false;
190  $fieldOptions = 0;
191 
192  // ** Determine FILTER TYPE
193  if (array_key_exists('filter', $pFilter)) {
194  $fieldFilter = $pFilter['filter'];
195  }
196  // ** set to FILTER_DEFAULT IF NOT SET
197  $fieldFilter = ($fieldFilter == 0 ? FILTER_DEFAULT : $fieldFilter);
198 
199  // ** DETERMINE IF SET FLAG FOR REQUIRE ARRAY
200  if (array_key_exists('flags', $pFilter)) {
201  $fieldFlags = $pFilter['flags'];
202  }
203  $fieldIsArray = ($fieldFlags == FILTER_REQUIRE_ARRAY ? true : false);
204 
205 
206  // ** set the filter options
207  if (array_key_exists('options', $pFilter)) {
208  $fieldOptions = $pFilter['options'];
209  }
210 
211 
212  $fieldValue = HCU_FilterInput (HCUFILTER_VAR, $pFieldVal, $fieldFilter, $fieldIsArray, $fieldOptions);
213 
214  return $fieldValue;
215 
216  } // * myHcu_ImportVars

◆ setUp()

FilterInputTests::setUp ( )

This function will setup the default values for usage in the test The test should emulate a POST action. Because of the way the calls are done through filter_input $_POST must be made.

Definition at line 36 of file FilterInputTest.php.

36  {
37 
38 
39  self::$testValues = Array(
40  'field1' => array(
41  "value" => "5'11\"",
42  "results" => array(
43  'FILTER_SANITIZE_STRING' => '5'11"',
44  'FILTER_SANITIZE_STRING_NO_ENCODE' => '5\'11"',
45  'FILTER_SANITIZE_NUMBER_FLOAT' => '511',
46  'FILTER_SANITIZE_NUMBER_FLOAT_ALLOW_FRACTION' => '511',
47  'FILTER_SANITIZE_NUMBER_INT' => '511',
48  'FILTER_SANITIZE_FULL_SPECIAL_CHARS' => '5'11"',
49  'FILTER_SANITIZE_FULL_SPECIAL_CHARS_NO_ENCODE' => '5\'11"',
50  'FILTER_VALIDATE_EMAIL' => '',
51  'FILTER_VALIDATE_INT' => '',
52  'FILTER_VALIDATE_FLOAT' => '',
53  'FILTER_VALIDATE_FLOAT_ALLOW_1000' => '',
54  'FILTER_VALIDATE_REGEXP' => ''
55  )
56  ),
57  'field2' => array(
58  "value" => "Billy's Account",
59  "results" => array(
60  'FILTER_SANITIZE_STRING' => 'Billy's Account',
61  'FILTER_SANITIZE_STRING_NO_ENCODE' => 'Billy\'s Account',
62  'FILTER_SANITIZE_NUMBER_FLOAT' => '',
63  'FILTER_SANITIZE_NUMBER_FLOAT_ALLOW_FRACTION' => '',
64  'FILTER_SANITIZE_NUMBER_INT' => '',
65  'FILTER_SANITIZE_FULL_SPECIAL_CHARS' => 'Billy's Account',
66  'FILTER_SANITIZE_FULL_SPECIAL_CHARS_NO_ENCODE' => 'Billy\'s Account',
67  'FILTER_VALIDATE_EMAIL' => '',
68  'FILTER_VALIDATE_INT' => '',
69  'FILTER_VALIDATE_FLOAT' => '',
70  'FILTER_VALIDATE_FLOAT_ALLOW_1000' => '',
71  'FILTER_VALIDATE_REGEXP' => ''
72  )
73  ),
74  'field3' => array(
75  "value" => "1,234.33",
76  "results" => array(
77  'FILTER_SANITIZE_STRING' => '1,234.33',
78  'FILTER_SANITIZE_STRING_NO_ENCODE' => '1,234.33',
79  'FILTER_SANITIZE_NUMBER_FLOAT' => '123433',
80  'FILTER_SANITIZE_NUMBER_FLOAT_ALLOW_FRACTION' => '1234.33',
81  'FILTER_SANITIZE_NUMBER_INT' => '123433',
82  'FILTER_SANITIZE_FULL_SPECIAL_CHARS' => '1,234.33',
83  'FILTER_SANITIZE_FULL_SPECIAL_CHARS_NO_ENCODE' => '1,234.33',
84  'FILTER_VALIDATE_EMAIL' => '',
85  'FILTER_VALIDATE_INT' => '',
86  'FILTER_VALIDATE_FLOAT' => '',
87  'FILTER_VALIDATE_FLOAT_ALLOW_1000' => '1234.33',
88  'FILTER_VALIDATE_REGEXP' => ''
89  )
90  ),
91  'field4' => array(
92  "value" => "mail@homecu.net",
93  "results" => array(
94  'FILTER_SANITIZE_STRING' => 'mail@homecu.net',
95  'FILTER_SANITIZE_STRING_NO_ENCODE' => 'mail@homecu.net',
96  'FILTER_SANITIZE_NUMBER_FLOAT' => '',
97  'FILTER_SANITIZE_NUMBER_FLOAT_ALLOW_FRACTION' => '.',
98  'FILTER_SANITIZE_NUMBER_INT' => '',
99  'FILTER_SANITIZE_FULL_SPECIAL_CHARS' => 'mail@homecu.net',
100  'FILTER_SANITIZE_FULL_SPECIAL_CHARS_NO_ENCODE' => 'mail@homecu.net',
101  'FILTER_VALIDATE_EMAIL' => 'mail@homecu.net',
102  'FILTER_VALIDATE_INT' => '',
103  'FILTER_VALIDATE_FLOAT' => '',
104  'FILTER_VALIDATE_FLOAT_ALLOW_1000' => '',
105  'FILTER_VALIDATE_REGEXP' => 'mail@homecu.net'
106  )
107  ),
108  'field5' => array(
109  "value" => 3299,
110  "results" => array(
111  'FILTER_SANITIZE_STRING' => '3299',
112  'FILTER_SANITIZE_STRING_NO_ENCODE' => '3299',
113  'FILTER_SANITIZE_NUMBER_FLOAT' => '3299',
114  'FILTER_SANITIZE_NUMBER_FLOAT_ALLOW_FRACTION' => '3299',
115  'FILTER_SANITIZE_NUMBER_INT' => '3299',
116  'FILTER_SANITIZE_FULL_SPECIAL_CHARS' => '3299',
117  'FILTER_SANITIZE_FULL_SPECIAL_CHARS_NO_ENCODE' => '3299',
118  'FILTER_VALIDATE_EMAIL' => '',
119  'FILTER_VALIDATE_INT' => '3299',
120  'FILTER_VALIDATE_FLOAT' => '3299',
121  'FILTER_VALIDATE_FLOAT_ALLOW_1000' => '3299',
122  'FILTER_VALIDATE_REGEXP' => ''
123  )
124  )
125  );
126 
127  self::$testOptions = Array(
128  'FILTER_SANITIZE_STRING' => array('filter' => FILTER_SANITIZE_STRING),
129  'FILTER_SANITIZE_STRING_NO_ENCODE' => array('filter' => FILTER_SANITIZE_STRING, 'options' => array('flags' => FILTER_FLAG_NO_ENCODE_QUOTES)),
130  'FILTER_SANITIZE_NUMBER_FLOAT' => array('filter' => FILTER_SANITIZE_NUMBER_FLOAT),
131  'FILTER_SANITIZE_NUMBER_FLOAT_ALLOW_FRACTION' => array('filter' => FILTER_SANITIZE_NUMBER_FLOAT, 'options' => array('flags' => FILTER_FLAG_ALLOW_FRACTION)),
132  'FILTER_SANITIZE_NUMBER_INT' => array('filter' => FILTER_SANITIZE_NUMBER_INT),
133  'FILTER_SANITIZE_FULL_SPECIAL_CHARS' => array('filter' => FILTER_SANITIZE_FULL_SPECIAL_CHARS),
134  'FILTER_SANITIZE_FULL_SPECIAL_CHARS_NO_ENCODE' => array('filter' => FILTER_SANITIZE_FULL_SPECIAL_CHARS, 'options' => array('flags' => FILTER_FLAG_NO_ENCODE_QUOTES)),
135  'FILTER_VALIDATE_EMAIL' => array('filter' => FILTER_VALIDATE_EMAIL),
136  'FILTER_VALIDATE_INT' => array('filter' => FILTER_VALIDATE_INT),
137  'FILTER_VALIDATE_FLOAT' => array('filter' => FILTER_VALIDATE_FLOAT),
138  'FILTER_VALIDATE_FLOAT_ALLOW_1000' => array('filter' => FILTER_VALIDATE_FLOAT, 'options' => array('flags' => FILTER_FLAG_ALLOW_THOUSAND)),
139  'FILTER_VALIDATE_REGEXP' => array('filter' => FILTER_VALIDATE_REGEXP, 'options' => array('options' => array('regexp'=>'/^m(.*)/')))
140  );
141 
142  }

◆ test_post_filter()

FilterInputTests::test_post_filter ( )

Test Values

Definition at line 147 of file FilterInputTest.php.

147  {
148 
149 
150 
151  $myTestValues = self::$testValues;
152  $myTestOptions = self::$testOptions;
153 
154  if (count($myTestValues) > 0) {
155  foreach ($myTestValues as $valKey => $valSetup) {
156 
157  $testInputValue = $valSetup['value'];
158 
159  // ** Loop through each of the results for validating the response
160  foreach ($valSetup['results'] as $resultFilter => $resultVal) {
161 
162  if (array_key_exists($resultFilter, $myTestOptions)) {
163 
164  // ** Call the function to start the process of validating the filter value
165  $filterResult = $this->myTestHCU_ImportVars($testInputValue, $myTestOptions[$resultFilter]);
166 
167  $this->assertEquals($resultVal, $filterResult);
168 
169  } else {
170  // ** Could not find test filter -- that's a fail!!
171  $this->assertFalse(true, "$resultFilter Not Defined as Valid Test Option");
172  }
173 
174  }
175 
176 
177  }
178  }
179  }
myTestHCU_ImportVars($pFieldVal, $pFilter)

The documentation for this class was generated from the following file: