Issue #2579095 by Aki Tendo: Create Inspector::assertStringable - a shorthand for (is_string($string) || (is_object($string) && method_exists($string, '__toString')
parent
daad7b1c00
commit
85fa64de8d
|
@ -71,6 +71,9 @@ class Inspector {
|
||||||
/**
|
/**
|
||||||
* Asserts that all members are strings.
|
* Asserts that all members are strings.
|
||||||
*
|
*
|
||||||
|
* Use this only if it is vital that the members not be objects, otherwise
|
||||||
|
* test with ::assertAllStringable().
|
||||||
|
*
|
||||||
* @param mixed $traversable
|
* @param mixed $traversable
|
||||||
* Variable to be examined.
|
* Variable to be examined.
|
||||||
*
|
*
|
||||||
|
@ -94,7 +97,7 @@ class Inspector {
|
||||||
public static function assertAllStringable($traversable) {
|
public static function assertAllStringable($traversable) {
|
||||||
if (static::assertTraversable($traversable)) {
|
if (static::assertTraversable($traversable)) {
|
||||||
foreach ($traversable as $member) {
|
foreach ($traversable as $member) {
|
||||||
if (!(is_string($member) || (is_object($member) && method_exists($member, '__toString')))) {
|
if (!static::assertStringable($member)) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -103,6 +106,22 @@ class Inspector {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asserts argument is a string or an object castable to a string.
|
||||||
|
*
|
||||||
|
* Use this instead of is_string() alone unless the argument being an object
|
||||||
|
* in any way will cause a problem.
|
||||||
|
*
|
||||||
|
* @param mixed string
|
||||||
|
* Variable to be examined
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
* TRUE if $string is a string or an object castable to a string.
|
||||||
|
*/
|
||||||
|
public static function assertStringable($string) {
|
||||||
|
return is_string($string) || (is_object($string) && method_exists($string, '__toString'));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asserts that all members are arrays.
|
* Asserts that all members are arrays.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue