Add pear modules, mail and net_smtp via composer (#93)

Add pear modules, mail and net_smtp via composer, remove php 5.6 build due to phpunit 6
This commit is contained in:
Thilina Hasantha
2018-01-08 23:13:43 +01:00
committed by GitHub
parent 359e3f8382
commit e7792e7d79
2349 changed files with 117270 additions and 83170 deletions

View File

@@ -5,3 +5,4 @@ enabled:
disabled:
- empty_return
- phpdoc_annotation_without_dot # This is still buggy: https://github.com/symfony/symfony/pull/19198

View File

@@ -2,6 +2,10 @@ language: php
sudo: false
branches:
only:
- master
cache:
directories:
- $HOME/.composer/cache/files

View File

@@ -1,6 +1,12 @@
Changelog
=========
* 1.2.0 (2016-11-23)
* added `Assert::throws()`
* added `Assert::count()`
* added extension point `Assert::reportInvalidArgument()` for custom subclasses
* 1.1.0 (2016-08-09)
* added `Assert::object()`

View File

@@ -1,13 +1,13 @@
Webmozart Assert
================
[![Build Status](https://travis-ci.org/webmozart/assert.svg?branch=1.1.0)](https://travis-ci.org/webmozart/assert)
[![Build Status](https://travis-ci.org/webmozart/assert.svg?branch=1.2.0)](https://travis-ci.org/webmozart/assert)
[![Build status](https://ci.appveyor.com/api/projects/status/lyg83bcsisrr94se/branch/master?svg=true)](https://ci.appveyor.com/project/webmozart/assert/branch/master)
[![Latest Stable Version](https://poser.pugx.org/webmozart/assert/v/stable.svg)](https://packagist.org/packages/webmozart/assert)
[![Total Downloads](https://poser.pugx.org/webmozart/assert/downloads.svg)](https://packagist.org/packages/webmozart/assert)
[![Dependency Status](https://www.versioneye.com/php/webmozart:assert/1.1.0/badge.svg)](https://www.versioneye.com/php/webmozart:assert/1.1.0)
[![Dependency Status](https://www.versioneye.com/php/webmozart:assert/1.2.0/badge.svg)](https://www.versioneye.com/php/webmozart:assert/1.2.0)
Latest release: [1.1.0](https://packagist.org/packages/webmozart/assert#1.1.0)
Latest release: [1.2.0](https://packagist.org/packages/webmozart/assert#1.2.0)
PHP >= 5.3.9
@@ -179,6 +179,13 @@ Method | Description
------------------------------------------- | --------------------------------------------------
`keyExists($array, $key, $message = '')` | Check that a key exists in an array
`keyNotExists($array, $key, $message = '')` | Check that a key does not exist in an array
`count($array, $number, $message = '')` | Check that an array contains a specific number of elements
### Function Assertions
Method | Description
------------------------------------------- | -----------------------------------------------------------------------------------------------------
`throws($closure, $class, $message = '')` | Check that a function throws a certain exception. Subclasses of the exception class will be accepted.
### Collection Assertions
@@ -186,7 +193,7 @@ All of the above assertions can be prefixed with `all*()` to test the contents
of an array or a `\Traversable`:
```php
Assert::allIsInstanceOf('Acme\Employee', $employees);
Assert::allIsInstanceOf($employees, 'Acme\Employee');
```
### Nullable Assertions

View File

@@ -2,6 +2,10 @@ build: false
platform: x86
clone_folder: c:\projects\webmozart\assert
branches:
only:
- master
cache:
- c:\php -> appveyor.yml

View File

@@ -10,7 +10,7 @@
}
],
"require": {
"php": "^5.3.3|^7.0"
"php": "^5.3.3 || ^7.0"
},
"require-dev": {
"phpunit/phpunit": "^4.6",
@@ -28,7 +28,7 @@
},
"extra": {
"branch-alias": {
"dev-master": "1.2-dev"
"dev-master": "1.3-dev"
}
}
}

View File

@@ -14,6 +14,9 @@ namespace Webmozart\Assert;
use BadMethodCallException;
use InvalidArgumentException;
use Traversable;
use Exception;
use Throwable;
use Closure;
/**
* Efficient assertions to validate the input/output of your methods.
@@ -75,6 +78,7 @@ use Traversable;
* @method static void nullOrMethodNotExists($value, $method, $message = '')
* @method static void nullOrKeyExists($value, $key, $message = '')
* @method static void nullOrKeyNotExists($value, $key, $message = '')
* @method static void nullOrCount($value, $key, $message = '')
* @method static void nullOrUuid($values, $message = '')
* @method static void allString($values, $message = '')
* @method static void allStringNotEmpty($values, $message = '')
@@ -135,6 +139,7 @@ use Traversable;
* @method static void allMethodNotExists($values, $method, $message = '')
* @method static void allKeyExists($values, $key, $message = '')
* @method static void allKeyNotExists($values, $key, $message = '')
* @method static void allCount($values, $key, $message = '')
* @method static void allUuid($values, $message = '')
*
* @since 1.0
@@ -146,25 +151,25 @@ class Assert
public static function string($value, $message = '')
{
if (!is_string($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a string. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
public static function stringNotEmpty($value, $message = '')
{
self::string($value, $message);
self::notEmpty($value, $message);
static::string($value, $message);
static::notEmpty($value, $message);
}
public static function integer($value, $message = '')
{
if (!is_int($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected an integer. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
@@ -172,9 +177,9 @@ class Assert
public static function integerish($value, $message = '')
{
if (!is_numeric($value) || $value != (int) $value) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected an integerish value. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
@@ -182,9 +187,9 @@ class Assert
public static function float($value, $message = '')
{
if (!is_float($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a float. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
@@ -192,9 +197,9 @@ class Assert
public static function numeric($value, $message = '')
{
if (!is_numeric($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a numeric. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
@@ -202,9 +207,9 @@ class Assert
public static function boolean($value, $message = '')
{
if (!is_bool($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a boolean. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
@@ -212,9 +217,9 @@ class Assert
public static function scalar($value, $message = '')
{
if (!is_scalar($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a scalar. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
@@ -222,9 +227,9 @@ class Assert
public static function object($value, $message = '')
{
if (!is_object($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected an object. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
@@ -232,16 +237,16 @@ class Assert
public static function resource($value, $type = null, $message = '')
{
if (!is_resource($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a resource. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
if ($type && $type !== get_resource_type($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a resource of type %2$s. Got: %s',
self::typeToString($value),
static::typeToString($value),
$type
));
}
@@ -250,9 +255,9 @@ class Assert
public static function isCallable($value, $message = '')
{
if (!is_callable($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a callable. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
@@ -260,9 +265,9 @@ class Assert
public static function isArray($value, $message = '')
{
if (!is_array($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected an array. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
@@ -270,9 +275,9 @@ class Assert
public static function isTraversable($value, $message = '')
{
if (!is_array($value) && !($value instanceof Traversable)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a traversable. Got: %s',
self::typeToString($value)
static::typeToString($value)
));
}
}
@@ -280,9 +285,9 @@ class Assert
public static function isInstanceOf($value, $class, $message = '')
{
if (!($value instanceof $class)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected an instance of %2$s. Got: %s',
self::typeToString($value),
static::typeToString($value),
$class
));
}
@@ -291,9 +296,9 @@ class Assert
public static function notInstanceOf($value, $class, $message = '')
{
if ($value instanceof $class) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected an instance other than %2$s. Got: %s',
self::typeToString($value),
static::typeToString($value),
$class
));
}
@@ -302,9 +307,9 @@ class Assert
public static function isEmpty($value, $message = '')
{
if (!empty($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected an empty value. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -312,9 +317,9 @@ class Assert
public static function notEmpty($value, $message = '')
{
if (empty($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a non-empty value. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -322,9 +327,9 @@ class Assert
public static function null($value, $message = '')
{
if (null !== $value) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected null. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -332,7 +337,7 @@ class Assert
public static function notNull($value, $message = '')
{
if (null === $value) {
throw new InvalidArgumentException(
static::reportInvalidArgument(
$message ?: 'Expected a value other than null.'
);
}
@@ -341,9 +346,9 @@ class Assert
public static function true($value, $message = '')
{
if (true !== $value) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to be true. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -351,9 +356,9 @@ class Assert
public static function false($value, $message = '')
{
if (false !== $value) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to be false. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -361,10 +366,10 @@ class Assert
public static function eq($value, $value2, $message = '')
{
if ($value2 != $value) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value equal to %2$s. Got: %s',
self::valueToString($value),
self::valueToString($value2)
static::valueToString($value),
static::valueToString($value2)
));
}
}
@@ -372,9 +377,9 @@ class Assert
public static function notEq($value, $value2, $message = '')
{
if ($value2 == $value) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a different value than %s.',
self::valueToString($value2)
static::valueToString($value2)
));
}
}
@@ -382,10 +387,10 @@ class Assert
public static function same($value, $value2, $message = '')
{
if ($value2 !== $value) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value identical to %2$s. Got: %s',
self::valueToString($value),
self::valueToString($value2)
static::valueToString($value),
static::valueToString($value2)
));
}
}
@@ -393,9 +398,9 @@ class Assert
public static function notSame($value, $value2, $message = '')
{
if ($value2 === $value) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value not identical to %s.',
self::valueToString($value2)
static::valueToString($value2)
));
}
}
@@ -403,10 +408,10 @@ class Assert
public static function greaterThan($value, $limit, $message = '')
{
if ($value <= $limit) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value greater than %2$s. Got: %s',
self::valueToString($value),
self::valueToString($limit)
static::valueToString($value),
static::valueToString($limit)
));
}
}
@@ -414,10 +419,10 @@ class Assert
public static function greaterThanEq($value, $limit, $message = '')
{
if ($value < $limit) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value greater than or equal to %2$s. Got: %s',
self::valueToString($value),
self::valueToString($limit)
static::valueToString($value),
static::valueToString($limit)
));
}
}
@@ -425,10 +430,10 @@ class Assert
public static function lessThan($value, $limit, $message = '')
{
if ($value >= $limit) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value less than %2$s. Got: %s',
self::valueToString($value),
self::valueToString($limit)
static::valueToString($value),
static::valueToString($limit)
));
}
}
@@ -436,10 +441,10 @@ class Assert
public static function lessThanEq($value, $limit, $message = '')
{
if ($value > $limit) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value less than or equal to %2$s. Got: %s',
self::valueToString($value),
self::valueToString($limit)
static::valueToString($value),
static::valueToString($limit)
));
}
}
@@ -447,11 +452,11 @@ class Assert
public static function range($value, $min, $max, $message = '')
{
if ($value < $min || $value > $max) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value between %2$s and %3$s. Got: %s',
self::valueToString($value),
self::valueToString($min),
self::valueToString($max)
static::valueToString($value),
static::valueToString($min),
static::valueToString($max)
));
}
}
@@ -459,10 +464,10 @@ class Assert
public static function oneOf($value, array $values, $message = '')
{
if (!in_array($value, $values, true)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected one of: %2$s. Got: %s',
self::valueToString($value),
implode(', ', array_map(array(__CLASS__, 'valueToString'), $values))
static::valueToString($value),
implode(', ', array_map(array('static', 'valueToString'), $values))
));
}
}
@@ -470,10 +475,10 @@ class Assert
public static function contains($value, $subString, $message = '')
{
if (false === strpos($value, $subString)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to contain %2$s. Got: %s',
self::valueToString($value),
self::valueToString($subString)
static::valueToString($value),
static::valueToString($subString)
));
}
}
@@ -481,10 +486,10 @@ class Assert
public static function startsWith($value, $prefix, $message = '')
{
if (0 !== strpos($value, $prefix)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to start with %2$s. Got: %s',
self::valueToString($value),
self::valueToString($prefix)
static::valueToString($value),
static::valueToString($prefix)
));
}
}
@@ -501,20 +506,20 @@ class Assert
}
if (!$valid) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to start with a letter. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
public static function endsWith($value, $suffix, $message = '')
{
if ($suffix !== substr($value, -self::strlen($suffix))) {
throw new InvalidArgumentException(sprintf(
if ($suffix !== substr($value, -static::strlen($suffix))) {
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to end with %2$s. Got: %s',
self::valueToString($value),
self::valueToString($suffix)
static::valueToString($value),
static::valueToString($suffix)
));
}
}
@@ -522,9 +527,9 @@ class Assert
public static function regex($value, $pattern, $message = '')
{
if (!preg_match($pattern, $value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'The value %s does not match the expected pattern.',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -537,9 +542,9 @@ class Assert
setlocale(LC_CTYPE, $locale);
if ($valid) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to contain only letters. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -552,9 +557,9 @@ class Assert
setlocale(LC_CTYPE, $locale);
if ($valid) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to contain digits only. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -567,9 +572,9 @@ class Assert
setlocale(LC_CTYPE, $locale);
if ($valid) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to contain letters and digits only. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -582,9 +587,9 @@ class Assert
setlocale(LC_CTYPE, $locale);
if ($valid) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to contain lowercase characters only. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -597,19 +602,19 @@ class Assert
setlocale(LC_CTYPE, $locale);
if ($valid) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to contain uppercase characters only. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
public static function length($value, $length, $message = '')
{
if ($length !== self::strlen($value)) {
throw new InvalidArgumentException(sprintf(
if ($length !== static::strlen($value)) {
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to contain %2$s characters. Got: %s',
self::valueToString($value),
static::valueToString($value),
$length
));
}
@@ -617,10 +622,10 @@ class Assert
public static function minLength($value, $min, $message = '')
{
if (self::strlen($value) < $min) {
throw new InvalidArgumentException(sprintf(
if (static::strlen($value) < $min) {
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to contain at least %2$s characters. Got: %s',
self::valueToString($value),
static::valueToString($value),
$min
));
}
@@ -628,10 +633,10 @@ class Assert
public static function maxLength($value, $max, $message = '')
{
if (self::strlen($value) > $max) {
throw new InvalidArgumentException(sprintf(
if (static::strlen($value) > $max) {
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to contain at most %2$s characters. Got: %s',
self::valueToString($value),
static::valueToString($value),
$max
));
}
@@ -639,12 +644,12 @@ class Assert
public static function lengthBetween($value, $min, $max, $message = '')
{
$length = self::strlen($value);
$length = static::strlen($value);
if ($length < $min || $length > $max) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a value to contain between %2$s and %3$s characters. Got: %s',
self::valueToString($value),
static::valueToString($value),
$min,
$max
));
@@ -653,36 +658,36 @@ class Assert
public static function fileExists($value, $message = '')
{
self::string($value);
static::string($value);
if (!file_exists($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'The file %s does not exist.',
self::valueToString($value)
static::valueToString($value)
));
}
}
public static function file($value, $message = '')
{
self::fileExists($value, $message);
static::fileExists($value, $message);
if (!is_file($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'The path %s is not a file.',
self::valueToString($value)
static::valueToString($value)
));
}
}
public static function directory($value, $message = '')
{
self::fileExists($value, $message);
static::fileExists($value, $message);
if (!is_dir($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'The path %s is no directory.',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -690,9 +695,9 @@ class Assert
public static function readable($value, $message = '')
{
if (!is_readable($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'The path %s is not readable.',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -700,9 +705,9 @@ class Assert
public static function writable($value, $message = '')
{
if (!is_writable($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'The path %s is not writable.',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -710,9 +715,9 @@ class Assert
public static function classExists($value, $message = '')
{
if (!class_exists($value)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected an existing class name. Got: %s',
self::valueToString($value)
static::valueToString($value)
));
}
}
@@ -720,10 +725,10 @@ class Assert
public static function subclassOf($value, $class, $message = '')
{
if (!is_subclass_of($value, $class)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected a sub-class of %2$s. Got: %s',
self::valueToString($value),
self::valueToString($class)
static::valueToString($value),
static::valueToString($class)
));
}
}
@@ -731,10 +736,10 @@ class Assert
public static function implementsInterface($value, $interface, $message = '')
{
if (!in_array($interface, class_implements($value))) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected an implementation of %2$s. Got: %s',
self::valueToString($value),
self::valueToString($interface)
static::valueToString($value),
static::valueToString($interface)
));
}
}
@@ -742,9 +747,9 @@ class Assert
public static function propertyExists($classOrObject, $property, $message = '')
{
if (!property_exists($classOrObject, $property)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected the property %s to exist.',
self::valueToString($property)
static::valueToString($property)
));
}
}
@@ -752,9 +757,9 @@ class Assert
public static function propertyNotExists($classOrObject, $property, $message = '')
{
if (property_exists($classOrObject, $property)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected the property %s to not exist.',
self::valueToString($property)
static::valueToString($property)
));
}
}
@@ -762,9 +767,9 @@ class Assert
public static function methodExists($classOrObject, $method, $message = '')
{
if (!method_exists($classOrObject, $method)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected the method %s to exist.',
self::valueToString($method)
static::valueToString($method)
));
}
}
@@ -772,9 +777,9 @@ class Assert
public static function methodNotExists($classOrObject, $method, $message = '')
{
if (method_exists($classOrObject, $method)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected the method %s to not exist.',
self::valueToString($method)
static::valueToString($method)
));
}
}
@@ -782,9 +787,9 @@ class Assert
public static function keyExists($array, $key, $message = '')
{
if (!array_key_exists($key, $array)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected the key %s to exist.',
self::valueToString($key)
static::valueToString($key)
));
}
}
@@ -792,13 +797,22 @@ class Assert
public static function keyNotExists($array, $key, $message = '')
{
if (array_key_exists($key, $array)) {
throw new InvalidArgumentException(sprintf(
static::reportInvalidArgument(sprintf(
$message ?: 'Expected the key %s to not exist.',
self::valueToString($key)
static::valueToString($key)
));
}
}
public static function count($array, $number, $message = '')
{
static::eq(
count($array),
$number,
$message ?: sprintf('Expected an array to contain %d elements. Got: %d.', $number, count($array))
);
}
public static function uuid($value, $message = '')
{
$value = str_replace(array('urn:', 'uuid:', '{', '}'), '', $value);
@@ -810,13 +824,39 @@ class Assert
}
if (!preg_match('/^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$/', $value)) {
throw new InvalidArgumentException(sprintf(
$message ?: 'Value "%s" is not a valid UUID.',
self::valueToString($value)
static::reportInvalidArgument(sprintf(
$message ?: 'Value %s is not a valid UUID.',
static::valueToString($value)
));
}
}
public static function throws(Closure $expression, $class = 'Exception', $message = '')
{
static::string($class);
$actual = 'none';
try {
$expression();
} catch (Exception $e) {
$actual = get_class($e);
if ($e instanceof $class) {
return;
}
} catch (Throwable $e) {
$actual = get_class($e);
if ($e instanceof $class) {
return;
}
}
static::reportInvalidArgument($message ?: sprintf(
'Expected to throw "%s", got "%s"',
$class,
$actual
));
}
public static function __callStatic($name, $arguments)
{
if ('nullOr' === substr($name, 0, 6)) {
@@ -829,7 +869,7 @@ class Assert
}
if ('all' === substr($name, 0, 3)) {
self::isTraversable($arguments[0]);
static::isTraversable($arguments[0]);
$method = lcfirst(substr($name, 3));
$args = $arguments;
@@ -897,6 +937,11 @@ class Assert
return mb_strwidth($value, $encoding);
}
protected static function reportInvalidArgument($message)
{
throw new InvalidArgumentException($message);
}
private function __construct()
{
}

View File

@@ -13,6 +13,8 @@ namespace Webmozart\Assert\Tests;
use ArrayIterator;
use Exception;
use Error;
use LogicException;
use PHPUnit_Framework_TestCase;
use RuntimeException;
use stdClass;
@@ -275,6 +277,8 @@ class AssertTest extends PHPUnit_Framework_TestCase
array('keyNotExists', array(array('key' => 0), 'key'), false),
array('keyNotExists', array(array('key' => null), 'key'), false),
array('keyNotExists', array(array('key' => null), 'foo'), true),
array('count', array(array(0, 1, 2), 3), true),
array('count', array(array(0, 1, 2), 2), false),
array('uuid', array('00000000-0000-0000-0000-000000000000'), true),
array('uuid', array('ff6f8cb0-c57d-21e1-9b21-0800200c9a66'), true),
array('uuid', array('ff6f8cb0-c57d-11e1-9b21-0800200c9a66'), true),
@@ -287,7 +291,12 @@ class AssertTest extends PHPUnit_Framework_TestCase
array('uuid', array('ff6f8cb0-c57da-51e1-9b21-0800200c9a66'), false),
array('uuid', array('af6f8cb-c57d-11e1-9b21-0800200c9a66'), false),
array('uuid', array('3f6f8cb0-c57d-11e1-9b21-0800200c9a6'), false),
array('throws', array(function() { throw new LogicException('test'); }, 'LogicException'), true),
array('throws', array(function() { throw new LogicException('test'); }, 'IllogicException'), false),
array('throws', array(function() { throw new Exception('test'); }), true),
array('throws', array(function() { trigger_error('test'); }, 'Throwable'), true, false, 70000),
array('throws', array(function() { trigger_error('test'); }, 'Unthrowable'), false, false, 70000),
array('throws', array(function() { throw new Error(); }, 'Throwable'), true, true, 70000),
);
}
@@ -305,10 +314,15 @@ class AssertTest extends PHPUnit_Framework_TestCase
/**
* @dataProvider getTests
*/
public function testAssert($method, $args, $success, $multibyte = false)
public function testAssert($method, $args, $success, $multibyte = false, $minVersion = null)
{
if ($minVersion && PHP_VERSION_ID < $minVersion) {
$this->markTestSkipped(sprintf('This test requires php %s or upper.', $minVersion));
return;
}
if ($multibyte && !function_exists('mb_strlen')) {
$this->markTestSkipped('The fucntion mb_strlen() is not available');
$this->markTestSkipped('The function mb_strlen() is not available');
return;
}
@@ -323,10 +337,15 @@ class AssertTest extends PHPUnit_Framework_TestCase
/**
* @dataProvider getTests
*/
public function testNullOr($method, $args, $success, $multibyte = false)
public function testNullOr($method, $args, $success, $multibyte = false, $minVersion = null)
{
if ($minVersion && PHP_VERSION_ID < $minVersion) {
$this->markTestSkipped(sprintf('This test requires php %s or upper.', $minVersion));
return;
}
if ($multibyte && !function_exists('mb_strlen')) {
$this->markTestSkipped('The fucntion mb_strlen() is not available');
$this->markTestSkipped('The function mb_strlen() is not available');
return;
}
@@ -349,10 +368,15 @@ class AssertTest extends PHPUnit_Framework_TestCase
/**
* @dataProvider getTests
*/
public function testAllArray($method, $args, $success, $multibyte = false)
public function testAllArray($method, $args, $success, $multibyte = false, $minVersion = null)
{
if ($minVersion && PHP_VERSION_ID < $minVersion) {
$this->markTestSkipped(sprintf('This test requires php %s or upper.', $minVersion));
return;
}
if ($multibyte && !function_exists('mb_strlen')) {
$this->markTestSkipped('The fucntion mb_strlen() is not available');
$this->markTestSkipped('The function mb_strlen() is not available');
return;
}
@@ -370,10 +394,15 @@ class AssertTest extends PHPUnit_Framework_TestCase
/**
* @dataProvider getTests
*/
public function testAllTraversable($method, $args, $success, $multibyte = false)
public function testAllTraversable($method, $args, $success, $multibyte = false, $minVersion = null)
{
if ($minVersion && PHP_VERSION_ID < $minVersion) {
$this->markTestSkipped(sprintf('This test requires php %s or upper.', $minVersion));
return;
}
if ($multibyte && !function_exists('mb_strlen')) {
$this->markTestSkipped('The fucntion mb_strlen() is not available');
$this->markTestSkipped('The function mb_strlen() is not available');
return;
}