Skip to content

Commit

Permalink
* 0.10.12, 1.0.6
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.shadanakar.org/onPHP/tags/0.10.12@5397 db88c99c-74ec-0310-8720-8416fdbde762
  • Loading branch information
Konstantin V. Arkhipov committed Aug 7, 2008
0 parents commit e097366
Show file tree
Hide file tree
Showing 627 changed files with 63,553 additions and 0 deletions.
20 changes: 20 additions & 0 deletions core/Base/Aliased.class.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?php
/***************************************************************************
* Copyright (C) 2007 by Konstantin V. Arkhipov *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation; either version 3 of the *
* License, or (at your option) any later version. *
* *
***************************************************************************/
/* $Id$ */

/**
* @ingroup Base
**/
interface Aliased
{
public function getAlias();
}
?>
207 changes: 207 additions & 0 deletions core/Base/Assert.class.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
<?php
/***************************************************************************
* Copyright (C) 2005-2008 by Konstantin V. Arkhipov *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation; either version 3 of the *
* License, or (at your option) any later version. *
* *
***************************************************************************/
/* $Id$ */

/**
* Widely used assertions.
*
* @ingroup Base
**/
final class Assert extends StaticFactory
{
public static function isTrue($boolean, $message = null)
{
if ($boolean !== true)
self::fail(
$message.', '.self::dumpArgument($boolean)
);
}

public static function isFalse($boolean, $message = null)
{
if ($boolean !== false)
self::fail(
$message.', '.self::dumpArgument($boolean)
);
}

public static function isNotFalse($boolean, $message = null)
{
if ($boolean === false)
self::fail(
$message.', '.self::dumpArgument($boolean)
);
}

public static function isNull($variable, $message = null)
{
if ($variable !== null)
self::fail(
$message.', '.self::dumpArgument($variable)
);
}

public static function isNotNull($variable, $message = null)
{
if ($variable === null)
self::fail($message);
}

public static function isArray(&$variable, $message = null)
{
if (!is_array($variable))
self::fail(
$message.', '.self::dumpArgument($variable)
);
}

public static function isNotEmptyArray(&$variable, $message = null)
{
self::isArray($variable, $message);

if (!$variable)
self::fail(
$message.', '.self::dumpArgument($variable)
);
}

public static function isInteger($variable, $message = null)
{
if (
!(
is_numeric($variable)
&& $variable == (int) $variable
)
)
self::fail(
$message.', '.self::dumpArgument($variable)
);
}

public static function isPositiveInteger($variable, $message = null)
{
if (
!self::checkInteger($variable)
|| $variable < 0
)
self::fail(
$message.', '.self::dumpArgument($variable)
);
}

public static function isFloat($variable, $message = null)
{
if (!self::checkFloat($variable))
self::fail(
$message.', '.self::dumpArgument($variable)
);
}

public static function isString($variable, $message = null)
{
if (!is_string($variable))
self::fail(
$message.', '.self::dumpArgument($variable)
);
}

public static function isBoolean($variable, $message = null)
{
if (!($variable === true || $variable === false))
self::fail(
$message.', '.self::dumpArgument($variable)
);
}

public static function isTernaryBase($variable, $message = null)
{
if (
!(
($variable === true)
|| ($variable === false)
|| ($variable === null)
)
)
self::fail($message);
}

public static function brothers(&$first, &$second, $message = null)
{
if (get_class($first) !== get_class($second))
self::fail($message);
}

public static function isEqual($first, $second, $message = null)
{
if ($first !== $second)
self::fail(
$message.', '.self::dumpOppositeArguments($first, $second)
);
}

public static function isInstance($first, $second, $message = null)
{
if (!ClassUtils::isInstanceOf($first, $second))
self::fail(
$message.', '.self::dumpOppositeArguments($first, $second)
);
}

public static function isUnreachable($message = 'unreachable code reached')
{
self::fail($message);
}

/// exceptionless methods
//@{
public static function checkInteger($value)
{
return (
is_numeric($value)
&& ($value == (int) $value)
&& (strlen($value) == strlen((int) $value))
);
}

public static function checkFloat($value)
{
return (
is_numeric($value)
&& ($value == (float) $value)
);
}

public static function dumpArgument($argument)
{
return 'argument: ['.print_r($argument, true).']';
}

public static function dumpOppositeArguments($first, $second)
{
return
'arguments: ['.print_r($first, true).'] '
.'vs. ['.print_r($second, true).'] ';
}
//@}

private static function fail($message = null)
{
throw new WrongArgumentException(
$message
.(
defined('__LOCAL_DEBUG__')
? "\n\n".print_r(debug_backtrace(), true)
: null
)
);
}
}
?>
Loading

0 comments on commit e097366

Please sign in to comment.