@@ 2146-2165 (lines=20) @@ | ||
2143 | * @return Assert |
|
2144 | * @throws AssertionFailedException |
|
2145 | */ |
|
2146 | public function directory(string $message='', string $fieldName='') : Assert |
|
2147 | { |
|
2148 | if ( $this->doAllOrNullOr(__FUNCTION__, func_get_args()) ) |
|
2149 | { |
|
2150 | return $this; |
|
2151 | } |
|
2152 | $this->string($message, $fieldName); |
|
2153 | if ( !is_dir($this->value) ) |
|
2154 | { |
|
2155 | $message = $message ?: $this->overrideError; |
|
2156 | $message = sprintf( |
|
2157 | $message ?: 'Path "%s" was expected to be a directory.', |
|
2158 | $this->stringify($this->value) |
|
2159 | ); |
|
2160 | ||
2161 | throw $this->createException($message, $this->overrideCode ?: self::INVALID_DIRECTORY, $fieldName); |
|
2162 | } |
|
2163 | ||
2164 | return $this; |
|
2165 | } |
|
2166 | ||
2167 | /** |
|
2168 | * Assert that value is something readable. |
|
@@ 2175-2194 (lines=20) @@ | ||
2172 | * @return Assert |
|
2173 | * @throws AssertionFailedException |
|
2174 | */ |
|
2175 | public function readable(string $message='', string $fieldName='') : Assert |
|
2176 | { |
|
2177 | if ( $this->doAllOrNullOr(__FUNCTION__, func_get_args()) ) |
|
2178 | { |
|
2179 | return $this; |
|
2180 | } |
|
2181 | $this->string($message, $fieldName); |
|
2182 | if ( !is_readable($this->value) ) |
|
2183 | { |
|
2184 | $message = $message ?: $this->overrideError; |
|
2185 | $message = sprintf( |
|
2186 | $message ?: 'Path "%s" was expected to be readable.', |
|
2187 | $this->stringify($this->value) |
|
2188 | ); |
|
2189 | ||
2190 | throw $this->createException($message, $this->overrideCode ?: self::INVALID_READABLE, $fieldName); |
|
2191 | } |
|
2192 | ||
2193 | return $this; |
|
2194 | } |
|
2195 | ||
2196 | /** |
|
2197 | * Assert that value is something writeable. |
|
@@ 2204-2223 (lines=20) @@ | ||
2201 | * @return Assert |
|
2202 | * @throws AssertionFailedException |
|
2203 | */ |
|
2204 | public function writeable(string $message='', string $fieldName='') : Assert |
|
2205 | { |
|
2206 | if ( $this->doAllOrNullOr(__FUNCTION__, func_get_args()) ) |
|
2207 | { |
|
2208 | return $this; |
|
2209 | } |
|
2210 | $this->string($message, $fieldName); |
|
2211 | if ( !is_writeable($this->value) ) |
|
2212 | { |
|
2213 | $message = $message ?: $this->overrideError; |
|
2214 | $message = sprintf( |
|
2215 | $message ?: 'Path "%s" was expected to be writeable.', |
|
2216 | $this->stringify($this->value) |
|
2217 | ); |
|
2218 | ||
2219 | throw $this->createException($message, $this->overrideCode ?: self::INVALID_WRITEABLE, $fieldName); |
|
2220 | } |
|
2221 | ||
2222 | return $this; |
|
2223 | } |
|
2224 | ||
2225 | /** |
|
2226 | * Assert that value is a valid email address (using input_filter/FILTER_VALIDATE_EMAIL). |
|
@@ 2375-2398 (lines=24) @@ | ||
2372 | * @return Assert |
|
2373 | * @throws AssertionFailedException |
|
2374 | */ |
|
2375 | public function ausMobile(string $message='', string $fieldName='') : Assert |
|
2376 | { |
|
2377 | if ( $this->doAllOrNullOr(__FUNCTION__, func_get_args()) ) |
|
2378 | { |
|
2379 | return $this; |
|
2380 | } |
|
2381 | try |
|
2382 | { |
|
2383 | $this->regex('/^04[0-9]{8})$/', $message, $fieldName); |
|
2384 | } |
|
2385 | catch ( AssertionFailedException $e ) |
|
2386 | { |
|
2387 | $message = $message ?: $this->overrideError; |
|
2388 | $message = sprintf( |
|
2389 | $message |
|
2390 | ?: 'Value "%s" is not an australian mobile number.', |
|
2391 | $this->stringify($this->value) |
|
2392 | ); |
|
2393 | ||
2394 | throw $this->createException($message, $this->overrideCode ?: self::INVALID_AUS_MOBILE, $fieldName); |
|
2395 | } |
|
2396 | ||
2397 | return $this; |
|
2398 | } |
|
2399 | ||
2400 | /** |
|
2401 | * Assert that value is alphanumeric. |
|
@@ 2408-2431 (lines=24) @@ | ||
2405 | * @return Assert |
|
2406 | * @throws AssertionFailedException |
|
2407 | */ |
|
2408 | public function alnum(string $message='', string $fieldName='') : Assert |
|
2409 | { |
|
2410 | if ( $this->doAllOrNullOr(__FUNCTION__, func_get_args()) ) |
|
2411 | { |
|
2412 | return $this; |
|
2413 | } |
|
2414 | try |
|
2415 | { |
|
2416 | $this->regex('(^([a-zA-Z]{1}[a-zA-Z0-9]*)$)', $message, $fieldName); |
|
2417 | } |
|
2418 | catch (AssertionFailedException $e) |
|
2419 | { |
|
2420 | $message = $message ?: $this->overrideError; |
|
2421 | $message = sprintf( |
|
2422 | $message |
|
2423 | ?: 'Value "%s" is not alphanumeric, starting with letters and containing only letters and numbers.', |
|
2424 | $this->stringify($this->value) |
|
2425 | ); |
|
2426 | ||
2427 | throw $this->createException($message, $this->overrideCode ?: self::INVALID_ALNUM, $fieldName); |
|
2428 | } |
|
2429 | ||
2430 | return $this; |
|
2431 | } |
|
2432 | ||
2433 | /** |
|
2434 | * Assert that value is boolean True. |
|
@@ 2715-2738 (lines=24) @@ | ||
2712 | * @return Assert |
|
2713 | * @throws AssertionFailedException |
|
2714 | */ |
|
2715 | public function userPrincipalName(string $message='', string $fieldName='') : Assert |
|
2716 | { |
|
2717 | if ( $this->doAllOrNullOr(__FUNCTION__, func_get_args()) ) |
|
2718 | { |
|
2719 | return $this; |
|
2720 | } |
|
2721 | try |
|
2722 | { |
|
2723 | $this->email($message, $fieldName); |
|
2724 | } |
|
2725 | catch (AssertionFailedException $e) |
|
2726 | { |
|
2727 | $message = $message ?: $this->overrideError; |
|
2728 | $message = sprintf( |
|
2729 | $message |
|
2730 | ?: 'Value "%s" is not a valid userPrincipalName.', |
|
2731 | $this->stringify($this->value) |
|
2732 | ); |
|
2733 | ||
2734 | throw $this->createException($message, $this->overrideCode ?: self::INVALID_USERPRINCIPALNAME, $fieldName); |
|
2735 | } |
|
2736 | ||
2737 | return $this; |
|
2738 | } |
|
2739 | ||
2740 | /** |
|
2741 | * Assert that the given string is a valid UUID |