Changeset 133
- Timestamp:
- 01/21/07 11:48:37 (2 years ago)
- Files:
-
- trunk/src/main/php/net/stubbles/ipo/request/stubBaseRequest.php (modified) (12 diffs)
- trunk/src/main/php/net/stubbles/ipo/request/stubRequest.php (modified) (7 diffs)
- trunk/src/main/php/net/stubbles/ipo/request/stubRequestPrefixDecorator.php (modified) (7 diffs)
- trunk/src/test/php/net/stubbles/ipo/request/stubBaseRequestTestCase.php (modified) (9 diffs)
- trunk/src/test/php/net/stubbles/ipo/request/stubRequestPrefixDecoratorTestCase.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/main/php/net/stubbles/ipo/request/stubBaseRequest.php
r97 r133 21 21 * @var array<string,string> 22 22 */ 23 protected $unsecure Values = array();23 protected $unsecureParams = array(); 24 24 /** 25 25 * list of unfiltered header data … … 29 29 protected $unsecureHeaders = array(); 30 30 /** 31 * list of errors that occurred while applying a filter 31 * list of unfiltered cookie data 32 * 33 * @var array<string,string> 34 */ 35 protected $unsecureCookies = array(); 36 /** 37 * list of errors that occurred while applying a filter on a param value 32 38 * 33 39 * @var array<string,array<stubRequestValueError>> 34 40 */ 35 protected $ valueErrors = array();36 /** 37 * list of errors that occurred while applying a filter 41 protected $paramErrors = array(); 42 /** 43 * list of errors that occurred while applying a filter on a header value 38 44 * 39 45 * @var array<string,array<stubRequestValueError>> … … 41 47 protected $headerErrors = array(); 42 48 /** 49 * list of errors that occurred while applying a filter on a cookie value 50 * 51 * @var array<string,array<stubRequestValueError>> 52 */ 53 protected $cookieErrors = array(); 54 /** 43 55 * switch whether request has been cancelled or not 44 56 * … … 51 63 * 52 64 * @param string $valueName name of request value 53 * @return bool 54 */ 55 public function hasValue($valueName) 56 { 57 return isset($this->unsecureValues[$valueName]); 58 } 59 60 /** 61 * checks whether a request header is set or not 62 * 63 * @param string $headerName name of request header 64 * @return bool 65 */ 66 public function hasHeader($headerName) 67 { 68 return isset($this->unsecureHeaders[$headerName]); 65 * @param int $source optional source type: cookie, header, param 66 * @return bool 67 */ 68 public function hasValue($valueName, $source = stubRequest::SOURCE_PARAM) 69 { 70 $data = $this->getValues($source); 71 return isset($data[$valueName]); 69 72 } 70 73 … … 73 76 * 74 77 * @param string $valueName name of request value 75 * @return bool 76 */ 77 public function hasValueError($valueName) 78 { 79 return isset($this->valueErrors[$valueName]); 80 } 81 82 /** 83 * checks whether a request header has an error after a filter was applied 84 * 85 * @param string $headerName name of request header 86 * @return bool 87 */ 88 public function hasHeaderError($headerName) 89 { 90 return isset($this->headerErrors[$headerName]); 78 * @param int $source optional source type: cookie, header, param 79 * @return bool 80 */ 81 public function hasValueError($valueName, $source = stubRequest::SOURCE_PARAM) 82 { 83 $error = $this->getErrors($source); 84 return isset($error[$valueName]); 91 85 } 92 86 … … 95 89 * 96 90 * @param string $valueName name of request value 91 * @param int $source optional source type: cookie, header, param 97 92 * @return array<stubRequestValueError> 98 93 */ 99 public function getValueError($valueName) 100 { 101 if (isset($this->valueErrors[$valueName]) == true) { 102 return $this->valueErrors[$valueName]; 94 public function getValueError($valueName, $source = stubRequest::SOURCE_PARAM) 95 { 96 $error = $this->getErrors($source); 97 if (isset($error[$valueName]) == true) { 98 return $error[$valueName]; 103 99 } 104 100 … … 107 103 108 104 /** 109 * returns a list of errors for given request header110 *111 * @param string $headerName name of request value112 * @return array<stubRequestValueError>113 */114 public function getHeaderError($headerName)115 {116 if (isset($this->headerErrors[$headerName]) == true) {117 return $this->headerErrors[$headerName];118 }119 120 return array();121 }122 123 /**124 105 * returns a list of all request value names with their errors 125 106 * 107 * @param int $source optional source type: cookie, header, param 126 108 * @return array<string,array<stubRequestValueError>> 127 109 */ 128 public function getValueErrors() 129 { 130 return $this->valueErrors; 131 } 132 133 /** 134 * returns a list of all request header names with their errors 135 * 136 * @return array<string,array<stubRequestValueError>> 137 */ 138 public function getHeaderErrors() 139 { 140 return $this->headerErrors; 110 public function getValueErrors($source = stubRequest::SOURCE_PARAM) 111 { 112 return $this->getErrors($source); 113 } 114 115 /** 116 * returns the array with errors from requested source 117 * 118 * @param int $source source type: cookie, header, param 119 * @return array<string,string> 120 */ 121 protected function &getErrors($source) 122 { 123 switch ($source) { 124 case stubRequest::SOURCE_PARAM: 125 return $this->paramErrors; 126 127 case stubRequest::SOURCE_COOKIE: 128 return $this->cookieErrors; 129 130 case stubRequest::SOURCE_HEADER: 131 return $this->headerErrors; 132 133 default: 134 return $this->paramErrors; 135 } 141 136 } 142 137 … … 177 172 * @param stubValidator $validator validator to use 178 173 * @param string $valueName name of request value 179 * @return bool 180 */ 181 public final function validateValue(stubValidator $validator, $valueName) 182 { 183 if (isset($this->unsecureValues[$valueName]) == true) { 184 return $validator->validate($this->unsecureValues[$valueName]); 185 } 186 187 return false; 188 } 189 190 /** 191 * checks whether a request header is valid or nor 192 * 193 * @param stubValidator $validator validator to use 194 * @param string $headerName name of request header 195 * @return bool 196 */ 197 public final function validateHeader(stubValidator $validator, $headerName) 198 { 199 if (isset($this->unsecureHeaders[$headerName]) == true) { 200 return $validator->validate($this->unsecureHeaders[$headerName]); 174 * @param int $source optional source type: cookie, header, param 175 * @return bool 176 */ 177 public function validateValue(stubValidator $validator, $valueName, $source = stubRequest::SOURCE_PARAM) 178 { 179 $data = $this->getValues($source); 180 if (isset($data[$valueName]) == true) { 181 return $validator->validate($data[$valueName]); 201 182 } 202 183 … … 211 192 * @param stubValidator $validator validator to use 212 193 * @param string $valueName name of request value 194 * @param int $source optional source type: cookie, header, param 213 195 * @return string 214 196 */ 215 public f inal function getValidatedValue(stubValidator $validator, $valueName)216 { 217 if (isset($this->unsecureValues[$valueName]) == true218 && $validator->validate($this->unsecureValues[$valueName]) == true) {219 return $ this->unsecureValues[$valueName];197 public function getValidatedValue(stubValidator $validator, $valueName, $source = stubRequest::SOURCE_PARAM) 198 { 199 $data = $this->getValues($source); 200 if (isset($data[$valueName]) == true && $validator->validate($data[$valueName]) == true) { 201 return $data[$valueName]; 220 202 } 221 203 222 204 return null; 223 205 } 224 225 /** 226 * returns the validated request header 227 * 228 * If the validator says the header is not valid the return value is null. 229 * 230 * @param stubValidator $validator validator to use 231 * @param string $headerName name of request value 232 * @return string 233 */ 234 public final function getValidatedHeader(stubValidator $validator, $headerName) 235 { 236 if (isset($this->unsecureHeaders[$headerName]) == true 237 && $validator->validate($this->unsecureHeaders[$headerName]) == true) { 238 return $this->unsecureHeaders[$headerName]; 239 } 240 241 return null; 242 } 243 206 244 207 /** 245 208 * returns a filtered request value … … 247 210 * @param stubFilter $filter filter to use 248 211 * @param string $paramName name of request value 212 * @param int $source optional source type: cookie, header, param 249 213 * @return mixed 250 214 * @throws stubFilterException 251 215 */ 252 public final function getFilteredValue(stubFilter $filter, $valueName) 253 { 254 if (isset($this->unsecureValues[$valueName]) == false) { 216 public function getFilteredValue(stubFilter $filter, $valueName, $source = stubRequest::SOURCE_PARAM) 217 { 218 $data = $this->getValues($source); 219 if (isset($data[$valueName]) == false) { 255 220 if ($filter->hasDefaultValue() == true) { 256 221 return $filter->getDefaultValue(); … … 261 226 262 227 try { 263 $value = $filter->execute($ this->unsecureValues[$valueName]);228 $value = $filter->execute($data[$valueName]); 264 229 } catch (stubFilterException $fe) { 265 if (isset($this->valueErrors[$valueName]) == false) { 266 $this->valueErrors[$valueName] = array(); 230 $error =& $this->getErrors($source); 231 if (isset($error[$valueName]) == false) { 232 $error[$valueName] = array(); 267 233 } 268 234 269 $ this->valueErrors[$valueName][] = $fe->getError();235 $error[$valueName][] = $fe->getError(); 270 236 return null; 271 237 } … … 275 241 276 242 /** 277 * returns a filtered request header 278 * 279 * @param stubFilter $filter filter to use 280 * @param string $headerName name of request value 281 * @return mixed 282 * @throws stubFilterException 283 */ 284 public final function getFilteredHeader(stubFilter $filter, $headerName) 285 { 286 if (isset($this->unsecureHeaders[$headerName]) == false) { 287 if ($filter->hasDefaultValue() == true) { 288 return $filter->getDefaultValue(); 289 } 290 291 return null; 292 } 293 294 try { 295 $value = $filter->execute($this->unsecureHeaders[$headerName]); 296 } catch (stubFilterException $fe) { 297 if (isset($this->headerErrors[$headerName]) == false) { 298 $this->headerErrors[$headerName] = array(); 299 } 300 301 $this->headerErrors[$headerName][] = $fe->getError(); 302 return null; 303 } 304 305 return $value; 243 * returns the array with data from requested source 244 * 245 * @param int $source source type: cookie, header, param 246 * @return array<string,string> 247 */ 248 protected function getValues($source) 249 { 250 switch ($source) { 251 case stubRequest::SOURCE_PARAM: 252 return $this->unsecureParams; 253 254 case stubRequest::SOURCE_COOKIE: 255 return $this->unsecureCookies; 256 257 case stubRequest::SOURCE_HEADER: 258 return $this->unsecureHeaders; 259 260 default: 261 return $this->unsecureParams; 262 } 306 263 } 307 264 } trunk/src/main/php/net/stubbles/ipo/request/stubRequest.php
r97 r133 23 23 */ 24 24 const EVENT_CANCELLED = 'onRequestCancelled'; 25 /** 26 * request source: cookies 27 */ 28 const SOURCE_COOKIE = 1; 29 /** 30 * request source: header 31 */ 32 const SOURCE_HEADER = 2; 33 /** 34 * request source: parameters 35 */ 36 const SOURCE_PARAM = 4; 25 37 26 38 /** … … 28 40 * 29 41 * @param string $valueName name of request value 42 * @param int $source optional source type: cookie, header, param 30 43 * @return bool 31 44 */ 32 public function hasValue($valueName); 33 34 /** 35 * checks whether a request header is set or not 36 * 37 * @param string $headerName name of request header 38 * @return bool 39 */ 40 public function hasHeader($headerName); 45 public function hasValue($valueName, $source = self::SOURCE_PARAM); 41 46 42 47 /** … … 44 49 * 45 50 * @param string $valueName name of request value 51 * @param int $source optional source type: cookie, header, param 46 52 * @return bool 47 53 */ 48 public function hasValueError($valueName); 49 50 /** 51 * checks whether a request header has an error after a filter was applied 52 * 53 * @param string $headerName name of request header 54 * @return bool 55 */ 56 public function hasHeaderError($headerName); 54 public function hasValueError($valueName, $source = self::SOURCE_PARAM); 57 55 58 56 /** … … 60 58 * 61 59 * @param string $valueName name of request value 60 * @param int $source optional source type: cookie, header, param 62 61 * @return array<stubRequestValueError> 63 62 */ 64 public function getValueError($valueName); 65 66 /** 67 * returns a list of errors for given request header 68 * 69 * @param string $headerName name of request value 70 * @return array<stubRequestValueError> 71 */ 72 public function getHeaderError($headerName); 63 public function getValueError($valueName, $source = self::SOURCE_PARAM); 73 64 74 65 /** 75 66 * returns a list of all request value names with their errors 76 67 * 68 * @param int $source optional source type: cookie, header, param 77 69 * @return array<string,array<stubRequestValueError>> 78 70 */ 79 public function getValueErrors(); 80 81 /** 82 * returns a list of all request header names with their errors 83 * 84 * @return array<string,array<stubRequestValueError>> 85 */ 86 public function getHeaderErrors(); 71 public function getValueErrors($source = self::SOURCE_PARAM); 87 72 88 73 /** … … 107 92 * @param stubValidator $validator validator to use 108 93 * @param string $valueName name of request value 94 * @param int $source optional source type: cookie, header, param 109 95 * @return bool 110 96 */ 111 public function validateValue(stubValidator $validator, $valueName); 112 113 /** 114 * checks whether a request header is valid or nor 115 * 116 * @param stubValidator $validator validator to use 117 * @param string $headerName name of request header 118 * @return bool 119 */ 120 public function validateHeader(stubValidator $validator, $headerName); 97 public function validateValue(stubValidator $validator, $valueName, $source = self::SOURCE_PARAM); 121 98 122 99 /** … … 127 104 * @param stubValidator $validator validator to use 128 105 * @param string $valueName name of request value 106 * @param int $source optional source type: cookie, header, param 129 107 * @return string 130 108 */ 131 public function getValidatedValue(stubValidator $validator, $valueName); 132 133 /** 134 * returns the validated request header 135 * 136 * If the validator says the header is not valid the return value is null. 137 * 138 * @param stubValidator $validator validator to use 139 * @param string $headerName name of request value 140 * @return string 141 */ 142 public function getValidatedHeader(stubValidator $validator, $headerName); 143 109 public function getValidatedValue(stubValidator $validator, $valueName, $source = self::SOURCE_PARAM); 110 144 111 /** 145 112 * returns a filtered request value … … 147 114 * @param stubFilter $filter filter to use 148 115 * @param string $paramName name of request value 116 * @param int $source optional source type: cookie, header, param 149 117 * @return mixed 150 118 * @throws stubFilterException 151 119 */ 152 public function getFilteredValue(stubFilter $filter, $valueName); 153 154 /** 155 * returns a filtered request header 156 * 157 * @param stubFilter $filter filter to use 158 * @param string $headerName name of request value 159 * @return mixed 160 * @throws stubFilterException 161 */ 162 public function getFilteredHeader(stubFilter $filter, $headerName); 120 public function getFilteredValue(stubFilter $filter, $valueName, $source = self::SOURCE_PARAM); 163 121 } 164 122 ?> trunk/src/main/php/net/stubbles/ipo/request/stubRequestPrefixDecorator.php
r97 r133 28 28 */ 29 29 protected $prefix; 30 /** 31 * sources to apply prefix on 32 * 33 * Can be any of stubRequest::SOURCE_* or a combination of them (bit value) 34 * 35 * @var int 36 */ 37 protected $sources; 30 38 31 39 /** … … 34 42 * @param stubRequest $request the request to decorate 35 43 * @param string $prefix the prefix to use 36 */ 37 public function __construct(stubRequest $request, $prefix) 44 * @param int $sources optional can be any of stubRequest::SOURCE_* or a combination of them (bit value) 45 */ 46 public function __construct(stubRequest $request, $prefix, $sources = stubRequest::SOURCE_PARAM) 38 47 { 39 48 $this->request = $request; 40 49 $this->prefix = $prefix; 50 $this->sources = $sources; 41 51 } 42 52 … … 45 55 * 46 56 * @param string $valueName name of request value 47 * @return bool 48 */ 49 public function hasValue($valueName) 50 { 51 return $this->request->hasValue($this->prefix . '_' . $valueName); 52 } 53 54 /** 55 * checks whether a request header is set or not 56 * 57 * @param string $headerName name of request header 58 * @return bool 59 */ 60 public function hasHeader($headerName) 61 { 62 return $this->request->hasHeader($headerName); 57 * @param int $source optional source type: cookie, header, param 58 * @return bool 59 */ 60 public function hasValue($valueName, $source = stubRequest::SOURCE_PARAM) 61 { 62 if ($this->applyPrefix($source) == true) { 63 $valueName = $this->prefix . '_' . $valueName; 64 } 65 66 return $this->request->hasValue($valueName, $source); 63 67 } 64 68 … … 67 71 * 68 72 * @param string $valueName name of request value 69 * @return bool 70 */ 71 public function hasValueError($valueName) 72 { 73 return $this->request->hasValueError($this->prefix . '_' . $valueName); 74 } 75 76 /** 77 * checks whether a request header has an error after a filter was applied 78 * 79 * @param string $headerName name of request header 80 * @return bool 81 */ 82 public function hasHeaderError($headerName) 83 { 84 return $this->request->hasHeaderError($headerName); 85 } 86 73 * @param int $source optional source type: cookie, header, param 74 * @return bool 75 */ 76 public function hasValueError($valueName, $source = stubRequest::SOURCE_PARAM) 77 { 78 if ($this->applyPrefix($source) == true) { 79 $valueName = $this->prefix . '_' . $valueName; 80 } 81 82 return $this->request->hasValueError($valueName, $source); 83 } 84 87 85 /** 88 86 * returns a list of errors for given request value 89 87 * 90 88 * @param string $valueName name of request value 89 * @param int $source optional source type: cookie, header, param 91 90 * @return array<stubRequestValueError> 92 91 */ 93 public function getValueError($valueName) 94 { 95 return $this->request->getValueError($this->prefix . '_' . $valueName); 96 } 97 98 /** 99 * returns a list of errors for given request header 100 * 101 * @param string $headerName name of request value 102 * @return array<stubRequestValueError> 103 */ 104 public function getHeaderError($headerName) 105 { 106 return $this->request->getHeaderError($headerName); 107 } 108 92 public function getValueError($valueName, $source = stubRequest::SOURCE_PARAM) 93 { 94 if ($this->applyPrefix($source) == true) { 95 $valueName = $this->prefix . '_' . $valueName; 96 } 97 98 return $this->request->getValueError($valueName, $source); 99 } 100 109 101 /** 110 102 * returns a list of all request value names with their errors 111 103 * 104 * @param int $source optional source type: cookie, header, param 112 105 * @return array<string,array<stubRequestValueError>> 113 106 */ 114 public function getValueErrors() 115 { 116 $valueErrors = $this->request->getValueErrors(); 117 $returedErrors = array(); 118 $checkLength = strlen($this->prefix) + 1; 107 public function getValueErrors($source = stubRequest::SOURCE_PARAM) 108 { 109 $valueErrors = $this->request->getValueErrors($source); 110 if ($this->applyPrefix($source) == false) { 111 return $valueErrors; 112 } 113 114 $returnedErrors = array(); 115 $checkLength = strlen($this->prefix) + 1; 119 116 foreach ($valueErrors as $valueName => $valueErrorList) { 120 117 if (substr($valueName, 0, $checkLength) == $this->prefix . '_') { 121 $retur edErrors[str_replace($this->prefix . '_', '', $valueName)] = $valueErrorList;118 $returnedErrors[str_replace($this->prefix . '_', '', $valueName)] = $valueErrorList; 122 119 } 123 120 } 124 121 125 return $returedErrors; 126 } 127 128 /** 129 * returns a list of all request header names with their errors 130 * 131 * @return array<string,array<stubRequestValueError>> 132 */ 133 public function getHeaderErrors() 134 { 135 return $this->request->getHeaderErrors(); 136 } 137 122 return $returnedErrors; 123 } 124 138 125 /** 139 126 * cancels the request, e.g. if it was detected that it is invalid … … 163 150 * @param stubValidator $validator validator to use 164 151 * @param string $valueName name of request value 165 * @return bool 166 */ 167 public final function validateValue(stubValidator $validator, $valueName) 168 { 169 return $this->request->validateValue($validator, $this->prefix . '_' . $valueName); 170 } 171 172 /** 173 * checks whether a request header is valid or nor 174 * 175 * @param stubValidator $validator validator to use 176 * @param string $headerName name of request header 177 * @return bool 178 */ 179 public final function validateHeader(stubValidator $validator, $headerName) 180 { 181 return $this->request->validateHeader($validator, $headerName); 182 } 183 152 * @param int $source optional source type: cookie, header, param 153 * @return bool 154 */ 155 public function validateValue(stubValidator $validator, $valueName, $source = stubRequest::SOURCE_PARAM) 156 { 157 if ($this->applyPrefix($source) == true) { 158 $valueName = $this->prefix . '_' . $valueName; 159 } 160 161 return $this->request->validateValue($validator, $valueName, $source); 162 } 163 184 164 /** 185 165 * returns the validated request value … … 189 169 * @param stubValidator $validator validator to use 190 170 * @param string $valueName name of request value 171 * @param int $source optional source type: cookie, header, param 191 172 * @return string 192 173 */ 193 public final function getValidatedValue(stubValidator $validator, $valueName) 194 { 195 return $this->request->getValidatedValue($validator, $this->prefix . '_' . $valueName); 196 } 197 198 /** 199 * returns the validated request header 200 * 201 * If the validator says the header is not valid the return value is null. 202 * 203 * @param stubValidator $validator validator to use 204 * @param string $headerName name of request value 205 * @return string 206 */ 207 public final function getValidatedHeader(stubValidator $validator, $headerName) 208 { 209 return $this->request->getValidatedHeader($validator, $headerName); 210 } 211 174 public function getValidatedValue(stubValidator $validator, $valueName, $source = stubRequest::SOURCE_PARAM) 175 { 176 if ($this->applyPrefix($source) == true) { 177 $valueName = $this->prefix . '_' . $valueName; 178 } 179 180 return $this->request->getValidatedValue($validator, $valueName, $source); 181 } 182 212 183 /** 213 184 * returns a filtered request value … … 215 186 * @param stubFilter $filter filter to use 216 187 * @param string $paramName name of request value 188 * @param int $source optional source type: cookie, header, param 217 189 * @return mixed 218 190 * @throws stubFilterException 219 191 */ 220 public final function getFilteredValue(stubFilter $filter, $valueName) 221 { 222 return $this->request->getFilteredValue($filter, $this->prefix . '_' . $valueName); 223 } 224 225 /** 226 * returns a filtered request header 227 * 228 * @param stubFilter $filter filter to use 229 * @param string $headerName name of request value 230 * @return mixed 231 * @throws stubFilterException 232 */ 233 public final function getFilteredHeader(stubFilter $filter, $headerName) 234 { 235 return $this->request->getFilteredHeader($filter, $headerName); 192 public function getFilteredValue(stubFilter $filter, $valueName, $source = stubRequest::SOURCE_PARAM) 193 { 194 if ($this->applyPrefix($source) == true) { 195 $valueName = $this->prefix . '_' . $valueName; 196 } 197 198 return $this->request->getFilteredValue($filter, $valueName, $source); 199 } 200 201 /** 202 * check whether the prefix has to be applied for requested source 203 * 204 * @param int $sources can be any of stubRequest::SOURCE_* or a combination of them (bit value) 205 */ 206 protected function applyPrefix($source) 207 { 208 return (($this->sources & $source) != 0); 236 209 } 237 210 } trunk/src/test/php/net/stubbles/ipo/request/stubBaseRequestTestCase.php
r98 r133 15 15 public function __construct() 16 16 { 17 $this->unsecure Values = array('foo' => 'bar');17 $this->unsecureParams = array('foo' => 'bar'); 18 18 $this->unsecureHeaders = array('bar' => 'baz'); 19 $this->unsecureCookies = array('baz' => 'foo'); 19 20 } 20 21 21 22 public function setValueError($valueName, stubRequestValueError $error) 22 23 { 23 $this-> valueErrors[$valueName] = array($error);24 $this->paramErrors[$valueName] = array($error); 24 25 } 25 26 … … 27 28 { 28 29 $this->headerErrors[$headerName] = array($error); 30 } 31 32 public function setCookieError($cookieName, stubRequestValueError $error) 33 { 34 $this->cookieErrors[$cookieName] = array($error); 29 35 } 30 36 } … … 60 66 $this->assertFalse($this->request->hasValue('baz')); 61 67 62 $mockValidator = new MockStubValidator(); 63 $mockValidator->setReturnValueAt(0, 'validate', true); 64 $mockValidator->setReturnValueAt(1, 'validate', false); 65 $mockValidator->setReturnValueAt(2, 'validate', true); 68 $this->assertTrue($this->request->hasValue('foo', stubRequest::SOURCE_PARAM)); 69 $this->assertFalse($this->request->hasValue('baz', stubRequest::SOURCE_PARAM)); 70 71 $this->assertTrue($this->request->hasValue('foo', 'dummy')); 72 $this->assertFalse($this->request->hasValue('baz', 'dummy')); 73 74 $mockValidator = new MockStubValidator(); 75 $mockValidator->setReturnValueAt(0, 'validate', true); 76 $mockValidator->setReturnValueAt(1, 'validate', false); 77 $mockValidator->setReturnValueAt(2, 'validate', true); 78 $mockValidator->setReturnValueAt(3, 'validate', false); 79 $mockValidator->setReturnValueAt(4, 'validate', true); 80 $mockValidator->setReturnValueAt(5, 'validate', false); 81 $mockValidator->setReturnValueAt(6, 'validate', true); 66 82 $this->assertTrue($this->request->validateValue($mockValidator, 'foo')); 67 83 $this->assertFalse($this->request->validateValue($mockValidator, 'foo')); 68 84 $this->assertFalse($this->request->validateValue($mockValidator, 'baz')); 69 85 70 $mockValidator = new MockStubValidator(); 71 $mockValidator->setReturnValueAt(0, 'validate', true); 72 $mockValidator->setReturnValueAt(1, 'validate', false); 73 $mockValidator->setReturnValueAt(2, 'validate', true); 86 $this->assertTrue($this->request->validateValue($mockValidator, 'foo', stubRequest::SOURCE_PARAM)); 87 $this->assertFalse($this->request->validateValue($mockValidator, 'foo', stubRequest::SOURCE_PARAM)); 88 $this->assertFalse($this->request->validateValue($mockValidator, 'baz', stubRequest::SOURCE_PARAM)); 89 90 $this->assertTrue($this->request->validateValue($mockValidator, 'foo', 'dummy')); 91 $this->assertFalse($this->request->validateValue($mockValidator, 'foo', 'dummy')); 92 $this->assertFalse($this->request->validateValue($mockValidator, 'baz', 'dummy')); 93 94 $mockValidator = new MockStubValidator(); 95 $mockValidator->setReturnValueAt(0, 'validate', true); 96 $mockValidator->setReturnValueAt(1, 'validate', false); 97 $mockValidator->setReturnValueAt(2, 'validate', true); 98 $mockValidator->setReturnValueAt(3, 'validate', false); 99 $mockValidator->setReturnValueAt(4, 'validate', true); 100 $mockValidator->setReturnValueAt(5, 'validate', false); 101 $mockValidator->setReturnValueAt(6, 'validate', true); 74 102 $this->assertEqual($this->request->getValidatedValue($mockValidator, 'foo'), 'bar'); 75 103 $this->assertNull($this->request->getValidatedValue($mockValidator, 'foo')); 76 104 $this->assertNull($this->request->getValidatedValue($mockValidator, 'baz')); 77 105 106 $this->assertEqual($this->request->getValidatedValue($mockValidator, 'foo', stubRequest::SOURCE_PARAM), 'bar'); 107 $this->assertNull($this->request->getValidatedValue($mockValidator, 'foo', stubRequest::SOURCE_PARAM)); 108 $this->assertNull($this->request->getValidatedValue($mockValidator, 'baz', stubRequest::SOURCE_PARAM)); 109 110 $this->assertEqual($this->request->getValidatedValue($mockValidator, 'foo', 'dummy'), 'bar'); 111 $this->assertNull($this->request->getValidatedValue($mockValidator, 'foo', 'dummy')); 112 $this->assertNull($this->request->getValidatedValue($mockValidator, 'baz', 'dummy')); 113 78 114 $mockFilter = new MockStubFilter(); 79 115 $mockFilter->setReturnValueAt(0, 'hasDefaultValue', true); 80 116 $mockFilter->setReturnValueAt(1, 'hasDefaultValue', false); 117 $mockFilter->setReturnValueAt(2, 'hasDefaultValue', true); 118 $mockFilter->setReturnValueAt(3, 'hasDefaultValue', false); 119 $mockFilter->setReturnValueAt(4, 'hasDefaultValue', true); 120 $mockFilter->setReturnValueAt(5, 'hasDefaultValue', false); 81 121 $mockFilter->setReturnValue('getDefaultValue', 'baz'); 82 122 $mockFilter->setReturnValue('execute', 'bam'); … … 84 124 $this->assertNull($this->request->getFilteredValue($mockFilter, 'baz')); 85 125 $this->assertEqual($this->request->getFilteredValue($mockFilter, 'foo'), 'bam'); 126 127 $this->assertEqual($this->request->getFilteredValue($mockFilter, 'baz', stubRequest::SOURCE_PARAM), 'baz'); 128 $this->assertNull($this->request->getFilteredValue($mockFilter, 'baz', stubRequest::SOURCE_PARAM)); 129 $this->assertEqual($this->request->getFilteredValue($mockFilter, 'foo', stubRequest::SOURCE_PARAM), 'bam'); 130 131 $this->assertEqual($this->request->getFilteredValue($mockFilter, 'baz', 'dummy'), 'baz'); 132 $this->assertNull($this->request->getFilteredValue($mockFilter, 'baz', 'dummy')); 133 $this->assertEqual($this->request->getFilteredValue($mockFilter, 'foo', 'dummy'), 'bam'); 86 134 } 87 135 … … 91 139 public function testHeader() 92 140 { 93 $this->assertTrue($this->request->has Header('bar'));94 $this->assertFalse($this->request->has Header('baz'));95 96 $mockValidator = new MockStubValidator(); 97 $mockValidator->setReturnValueAt(0, 'validate', true); 98 $mockValidator->setReturnValueAt(1, 'validate', false); 99 $mockValidator->setReturnValueAt(2, 'validate', true); 100 $this->assertTrue($this->request->validate Header($mockValidator, 'bar'));101 $this->assertFalse($this->request->validate Header($mockValidator, 'bar'));102 $this->assertFalse($this->request->validate Header($mockValidator, 'baz'));103 104 $mockValidator = new MockStubValidator(); 105 $mockValidator->setReturnValueAt(0, 'validate', true); 106 $mockValidator->setReturnValueAt(1, 'validate', false); 107 $mockValidator->setReturnValueAt(2, 'validate', true); 108 $this->assertEqual($this->request->getValidated Header($mockValidator, 'bar'), 'baz');109 $this->assertNull($this->request->getValidated Header($mockValidator, 'bar'));110 $this->assertNull($this->request->getValidated Header($mockValidator, 'baz'));141 $this->assertTrue($this->request->hasValue('bar', stubRequest::SOURCE_HEADER)); 142 $this->assertFalse($this->request->hasValue('baz', stubRequest::SOURCE_HEADER)); 143 144 $mockValidator = new MockStubValidator(); 145 $mockValidator->setReturnValueAt(0, 'validate', true); 146 $mockValidator->setReturnValueAt(1, 'validate', false); 147 $mockValidator->setReturnValueAt(2, 'validate', true); 148 $this->assertTrue($this->request->validateValue($mockValidator, 'bar', stubRequest::SOURCE_HEADER)); 149 $this->assertFalse($this->request->validateValue($mockValidator, 'bar', stubRequest::SOURCE_HEADER)); 150 $this->assertFalse($this->request->validateValue($mockValidator, 'baz', stubRequest::SOURCE_HEADER)); 151 152 $mockValidator = new MockStubValidator(); 153 $mockValidator->setReturnValueAt(0, 'validate', true); 154 $mockValidator->setReturnValueAt(1, 'validate', false); 155 $mockValidator->setReturnValueAt(2, 'validate', true); 156 $this->assertEqual($this->request->getValidatedValue($mockValidator, 'bar', stubRequest::SOURCE_HEADER), 'baz'); 157 $this->assertNull($this->request->getValidatedValue($mockValidator, 'bar', stubRequest::SOURCE_HEADER)); 158 $this->assertNull($this->request->getValidatedValue($mockValidator, 'baz', stubRequest::SOURCE_HEADER)); 111 159 112 160 $mockFilter = new MockStubFilter(); … … 115 163 $mockFilter->setReturnValue('getDefaultValue', 'foo'); 116 164 $mockFilter->setReturnValue('execute', 'bam'); 117 $this->assertEqual($this->request->getFilteredHeader($mockFilter, 'baz'), 'foo'); 118 $this->assertNull($this->request->getFilteredHeader($mockFilter, 'baz')); 119 $this->assertEqual($this->request->getFilteredHeader($mockFilter, 'bar'), 'bam'); 165 $this->assertEqual($this->request->getFilteredValue($mockFilter, 'baz', stubRequest::SOURCE_HEADER), 'foo'); 166 $this->assertNull($this->request->getFilteredValue($mockFilter, 'baz', stubRequest::SOURCE_HEADER)); 167 $this->assertEqual($this->request->getFilteredValue($mockFilter, 'bar', stubRequest::SOURCE_HEADER), 'bam'); 168 } 169 170 /** 171 * test that headers are handles as expected 172 */ 173 public function testCookie() 174 { 175 $this->assertTrue($this->request->hasValue('baz', stubRequest::SOURCE_COOKIE)); 176 $this->assertFalse($this->request->hasValue('foo', stubRequest::SOURCE_COOKIE)); 177 178 $mockValidator = new MockStubValidator(); 179 $mockValidator->setReturnValueAt(0, 'validate', true); 180 $mockValidator->setReturnValueAt(1, 'validate', false); 181 $mockValidator->setReturnValueAt(2, 'validate', true); 182 $this->assertTrue($this->request->validateValue($mockValidator, 'baz', stubRequest::SOURCE_COOKIE)); 183 $this->assertFalse($this->request->validateValue($mockValidator, 'baz', stubRequest::SOURCE_COOKIE)); 184 $this->assertFalse($this->request->validateValue($mockValidator, 'foo', stubRequest::SOURCE_COOKIE)); 185 186 $mockValidator = new Mo
