Initial Commit
This commit is contained in:
426
database/php/pear/PHPUnit/Assert.php
Normal file
426
database/php/pear/PHPUnit/Assert.php
Normal file
@@ -0,0 +1,426 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
|
||||
/**
|
||||
* PHP Version 4
|
||||
*
|
||||
* Copyright (c) 2002-2005, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRIC
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @category Testing
|
||||
* @package PHPUnit
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2002-2005 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
|
||||
* @version CVS: $Id: Assert.php,v 1.29 2005/11/10 09:47:14 sebastian Exp $
|
||||
* @link http://pear.php.net/package/PHPUnit
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* A set of assert methods.
|
||||
*
|
||||
* @category Testing
|
||||
* @package PHPUnit
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2002-2005 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
|
||||
* @version Release: 1.3.2
|
||||
* @link http://pear.php.net/package/PHPUnit
|
||||
* @since Class available since Release 1.0.0
|
||||
*/
|
||||
class PHPUnit_Assert {
|
||||
/**
|
||||
* @var boolean
|
||||
* @access private
|
||||
*/
|
||||
var $_looselyTyped = FALSE;
|
||||
|
||||
/**
|
||||
* Asserts that a haystack contains a needle.
|
||||
*
|
||||
* @param mixed
|
||||
* @param mixed
|
||||
* @param string
|
||||
* @access public
|
||||
* @since Method available since Release 1.1.0
|
||||
*/
|
||||
function assertContains($needle, $haystack, $message = '') {
|
||||
if (is_string($needle) && is_string($haystack)) {
|
||||
$this->assertTrue(strpos($haystack, $needle) !== FALSE, $message);
|
||||
}
|
||||
|
||||
else if (is_array($haystack) && !is_object($needle)) {
|
||||
$this->assertTrue(in_array($needle, $haystack), $message);
|
||||
}
|
||||
|
||||
else {
|
||||
$this->fail('Unsupported parameter passed to assertContains().');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that a haystack does not contain a needle.
|
||||
*
|
||||
* @param mixed
|
||||
* @param mixed
|
||||
* @param string
|
||||
* @access public
|
||||
* @since Method available since Release 1.1.0
|
||||
*/
|
||||
function assertNotContains($needle, $haystack, $message = '') {
|
||||
if (is_string($needle) && is_string($haystack)) {
|
||||
$this->assertFalse(strpos($haystack, $needle) !== FALSE, $message);
|
||||
}
|
||||
|
||||
else if (is_array($haystack) && !is_object($needle)) {
|
||||
$this->assertFalse(in_array($needle, $haystack), $message);
|
||||
}
|
||||
|
||||
else {
|
||||
$this->fail('Unsupported parameter passed to assertNotContains().');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two variables are equal.
|
||||
*
|
||||
* @param mixed
|
||||
* @param mixed
|
||||
* @param string
|
||||
* @param mixed
|
||||
* @access public
|
||||
*/
|
||||
function assertEquals($expected, $actual, $message = '', $delta = 0) {
|
||||
if ((is_array($actual) && is_array($expected)) ||
|
||||
(is_object($actual) && is_object($expected))) {
|
||||
if (is_array($actual) && is_array($expected)) {
|
||||
ksort($actual);
|
||||
ksort($expected);
|
||||
}
|
||||
|
||||
if ($this->_looselyTyped) {
|
||||
$actual = $this->_convertToString($actual);
|
||||
$expected = $this->_convertToString($expected);
|
||||
}
|
||||
|
||||
$actual = serialize($actual);
|
||||
$expected = serialize($expected);
|
||||
|
||||
$message = sprintf(
|
||||
'%sexpected %s, actual %s',
|
||||
|
||||
!empty($message) ? $message . ' ' : '',
|
||||
$expected,
|
||||
$actual
|
||||
);
|
||||
|
||||
if ($actual !== $expected) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
}
|
||||
|
||||
elseif (is_numeric($actual) && is_numeric($expected)) {
|
||||
$message = sprintf(
|
||||
'%sexpected %s%s, actual %s',
|
||||
|
||||
!empty($message) ? $message . ' ' : '',
|
||||
$expected,
|
||||
($delta != 0) ? ('+/- ' . $delta) : '',
|
||||
$actual
|
||||
);
|
||||
|
||||
if (!($actual >= ($expected - $delta) && $actual <= ($expected + $delta))) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
$message = sprintf(
|
||||
'%sexpected %s, actual %s',
|
||||
|
||||
!empty($message) ? $message . ' ' : '',
|
||||
$expected,
|
||||
$actual
|
||||
);
|
||||
|
||||
if ($actual !== $expected) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two variables reference the same object.
|
||||
* This requires the Zend Engine 2 to work.
|
||||
*
|
||||
* @param object
|
||||
* @param object
|
||||
* @param string
|
||||
* @access public
|
||||
* @deprecated
|
||||
*/
|
||||
function assertSame($expected, $actual, $message = '') {
|
||||
if (!version_compare(phpversion(), '5.0.0', '>=')) {
|
||||
$this->fail('assertSame() only works with PHP >= 5.0.0.');
|
||||
}
|
||||
|
||||
if ((is_object($expected) || is_null($expected)) &&
|
||||
(is_object($actual) || is_null($actual))) {
|
||||
$message = sprintf(
|
||||
'%sexpected two variables to reference the same object',
|
||||
|
||||
!empty($message) ? $message . ' ' : ''
|
||||
);
|
||||
|
||||
if ($expected !== $actual) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
} else {
|
||||
$this->fail('Unsupported parameter passed to assertSame().');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two variables do not reference the same object.
|
||||
* This requires the Zend Engine 2 to work.
|
||||
*
|
||||
* @param object
|
||||
* @param object
|
||||
* @param string
|
||||
* @access public
|
||||
* @deprecated
|
||||
*/
|
||||
function assertNotSame($expected, $actual, $message = '') {
|
||||
if (!version_compare(phpversion(), '5.0.0', '>=')) {
|
||||
$this->fail('assertNotSame() only works with PHP >= 5.0.0.');
|
||||
}
|
||||
|
||||
if ((is_object($expected) || is_null($expected)) &&
|
||||
(is_object($actual) || is_null($actual))) {
|
||||
$message = sprintf(
|
||||
'%sexpected two variables to reference different objects',
|
||||
|
||||
!empty($message) ? $message . ' ' : ''
|
||||
);
|
||||
|
||||
if ($expected === $actual) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
} else {
|
||||
$this->fail('Unsupported parameter passed to assertNotSame().');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that a variable is not NULL.
|
||||
*
|
||||
* @param mixed
|
||||
* @param string
|
||||
* @access public
|
||||
*/
|
||||
function assertNotNull($actual, $message = '') {
|
||||
$message = sprintf(
|
||||
'%sexpected NOT NULL, actual NULL',
|
||||
|
||||
!empty($message) ? $message . ' ' : ''
|
||||
);
|
||||
|
||||
if (is_null($actual)) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that a variable is NULL.
|
||||
*
|
||||
* @param mixed
|
||||
* @param string
|
||||
* @access public
|
||||
*/
|
||||
function assertNull($actual, $message = '') {
|
||||
$message = sprintf(
|
||||
'%sexpected NULL, actual NOT NULL',
|
||||
|
||||
!empty($message) ? $message . ' ' : ''
|
||||
);
|
||||
|
||||
if (!is_null($actual)) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that a condition is true.
|
||||
*
|
||||
* @param boolean
|
||||
* @param string
|
||||
* @access public
|
||||
*/
|
||||
function assertTrue($condition, $message = '') {
|
||||
$message = sprintf(
|
||||
'%sexpected TRUE, actual FALSE',
|
||||
|
||||
!empty($message) ? $message . ' ' : ''
|
||||
);
|
||||
|
||||
if (!$condition) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that a condition is false.
|
||||
*
|
||||
* @param boolean
|
||||
* @param string
|
||||
* @access public
|
||||
*/
|
||||
function assertFalse($condition, $message = '') {
|
||||
$message = sprintf(
|
||||
'%sexpected FALSE, actual TRUE',
|
||||
|
||||
!empty($message) ? $message . ' ' : ''
|
||||
);
|
||||
|
||||
if ($condition) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that a string matches a given regular expression.
|
||||
*
|
||||
* @param string
|
||||
* @param string
|
||||
* @param string
|
||||
* @access public
|
||||
*/
|
||||
function assertRegExp($pattern, $string, $message = '') {
|
||||
$message = sprintf(
|
||||
'%s"%s" does not match pattern "%s"',
|
||||
|
||||
!empty($message) ? $message . ' ' : '',
|
||||
$string,
|
||||
$pattern
|
||||
);
|
||||
|
||||
if (!preg_match($pattern, $string)) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that a string does not match a given regular expression.
|
||||
*
|
||||
* @param string
|
||||
* @param string
|
||||
* @param string
|
||||
* @access public
|
||||
* @since Method available since Release 1.1.0
|
||||
*/
|
||||
function assertNotRegExp($pattern, $string, $message = '') {
|
||||
$message = sprintf(
|
||||
'%s"%s" matches pattern "%s"',
|
||||
|
||||
!empty($message) ? $message . ' ' : '',
|
||||
$string,
|
||||
$pattern
|
||||
);
|
||||
|
||||
if (preg_match($pattern, $string)) {
|
||||
return $this->fail($message);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that a variable is of a given type.
|
||||
*
|
||||
* @param string $expected
|
||||
* @param mixed $actual
|
||||
* @param optional string $message
|
||||
* @access public
|
||||
*/
|
||||
function assertType($expected, $actual, $message = '') {
|
||||
return $this->assertEquals(
|
||||
$expected,
|
||||
gettype($actual),
|
||||
$message
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a value to a string.
|
||||
*
|
||||
* @param mixed $value
|
||||
* @access private
|
||||
*/
|
||||
function _convertToString($value) {
|
||||
foreach ($value as $k => $v) {
|
||||
if (is_array($v)) {
|
||||
$value[$k] = $this->_convertToString($value[$k]);
|
||||
} else {
|
||||
settype($value[$k], 'string');
|
||||
}
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param boolean $looselyTyped
|
||||
* @access public
|
||||
*/
|
||||
function setLooselyTyped($looselyTyped) {
|
||||
if (is_bool($looselyTyped)) {
|
||||
$this->_looselyTyped = $looselyTyped;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fails a test with the given message.
|
||||
*
|
||||
* @param string
|
||||
* @access protected
|
||||
* @abstract
|
||||
*/
|
||||
function fail($message = '') { /* abstract */ }
|
||||
}
|
||||
|
||||
/*
|
||||
* Local variables:
|
||||
* tab-width: 4
|
||||
* c-basic-offset: 4
|
||||
* c-hanging-comment-ender-p: nil
|
||||
* End:
|
||||
*/
|
||||
?>
|
||||
248
database/php/pear/PHPUnit/Autoload.php
Normal file
248
database/php/pear/PHPUnit/Autoload.php
Normal file
@@ -0,0 +1,248 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.5.0
|
||||
*/
|
||||
|
||||
if (defined('PHPUNIT_COMPOSER_INSTALL')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$paths = array(
|
||||
__DIR__ . '/../vendor',
|
||||
__DIR__ . '/../../..'
|
||||
);
|
||||
|
||||
foreach ($paths as $path) {
|
||||
if (@is_dir($path . '/composer') &&
|
||||
@is_file($path . '/autoload.php')) {
|
||||
require_once $path . '/autoload.php';
|
||||
define('PHPUNIT_COMPOSER_INSTALL', $path . '/autoload.php');
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
require_once 'File/Iterator/Autoload.php';
|
||||
require_once 'PHP/CodeCoverage/Autoload.php';
|
||||
require_once 'PHP/Timer/Autoload.php';
|
||||
require_once 'PHPUnit/Framework/MockObject/Autoload.php';
|
||||
require_once 'Text/Template/Autoload.php';
|
||||
|
||||
spl_autoload_register(
|
||||
function ($class)
|
||||
{
|
||||
static $classes = NULL;
|
||||
static $path = NULL;
|
||||
|
||||
if ($classes === NULL) {
|
||||
$classes = array(
|
||||
'phpunit_extensions_grouptestsuite' => '/Extensions/GroupTestSuite.php',
|
||||
'phpunit_extensions_phpttestcase' => '/Extensions/PhptTestCase.php',
|
||||
'phpunit_extensions_phpttestcase_logger' => '/Extensions/PhptTestCase/Logger.php',
|
||||
'phpunit_extensions_phpttestsuite' => '/Extensions/PhptTestSuite.php',
|
||||
'phpunit_extensions_repeatedtest' => '/Extensions/RepeatedTest.php',
|
||||
'phpunit_extensions_testdecorator' => '/Extensions/TestDecorator.php',
|
||||
'phpunit_extensions_ticketlistener' => '/Extensions/TicketListener.php',
|
||||
'phpunit_framework_assert' => '/Framework/Assert.php',
|
||||
'phpunit_framework_assertionfailederror' => '/Framework/AssertionFailedError.php',
|
||||
'phpunit_framework_comparator' => '/Framework/Comparator.php',
|
||||
'phpunit_framework_comparator_array' => '/Framework/Comparator/Array.php',
|
||||
'phpunit_framework_comparator_domdocument' => '/Framework/Comparator/DOMDocument.php',
|
||||
'phpunit_framework_comparator_double' => '/Framework/Comparator/Double.php',
|
||||
'phpunit_framework_comparator_exception' => '/Framework/Comparator/Exception.php',
|
||||
'phpunit_framework_comparator_mockobject' => '/Framework/Comparator/MockObject.php',
|
||||
'phpunit_framework_comparator_numeric' => '/Framework/Comparator/Numeric.php',
|
||||
'phpunit_framework_comparator_object' => '/Framework/Comparator/Object.php',
|
||||
'phpunit_framework_comparator_resource' => '/Framework/Comparator/Resource.php',
|
||||
'phpunit_framework_comparator_scalar' => '/Framework/Comparator/Scalar.php',
|
||||
'phpunit_framework_comparator_splobjectstorage' => '/Framework/Comparator/SplObjectStorage.php',
|
||||
'phpunit_framework_comparator_type' => '/Framework/Comparator/Type.php',
|
||||
'phpunit_framework_comparatorfactory' => '/Framework/ComparatorFactory.php',
|
||||
'phpunit_framework_comparisonfailure' => '/Framework/ComparisonFailure.php',
|
||||
'phpunit_framework_constraint' => '/Framework/Constraint.php',
|
||||
'phpunit_framework_constraint_and' => '/Framework/Constraint/And.php',
|
||||
'phpunit_framework_constraint_arrayhaskey' => '/Framework/Constraint/ArrayHasKey.php',
|
||||
'phpunit_framework_constraint_attribute' => '/Framework/Constraint/Attribute.php',
|
||||
'phpunit_framework_constraint_callback' => '/Framework/Constraint/Callback.php',
|
||||
'phpunit_framework_constraint_classhasattribute' => '/Framework/Constraint/ClassHasAttribute.php',
|
||||
'phpunit_framework_constraint_classhasstaticattribute' => '/Framework/Constraint/ClassHasStaticAttribute.php',
|
||||
'phpunit_framework_constraint_composite' => '/Framework/Constraint/Composite.php',
|
||||
'phpunit_framework_constraint_count' => '/Framework/Constraint/Count.php',
|
||||
'phpunit_framework_constraint_exception' => '/Framework/Constraint/Exception.php',
|
||||
'phpunit_framework_constraint_exceptioncode' => '/Framework/Constraint/ExceptionCode.php',
|
||||
'phpunit_framework_constraint_exceptionmessage' => '/Framework/Constraint/ExceptionMessage.php',
|
||||
'phpunit_framework_constraint_fileexists' => '/Framework/Constraint/FileExists.php',
|
||||
'phpunit_framework_constraint_greaterthan' => '/Framework/Constraint/GreaterThan.php',
|
||||
'phpunit_framework_constraint_isanything' => '/Framework/Constraint/IsAnything.php',
|
||||
'phpunit_framework_constraint_isempty' => '/Framework/Constraint/IsEmpty.php',
|
||||
'phpunit_framework_constraint_isequal' => '/Framework/Constraint/IsEqual.php',
|
||||
'phpunit_framework_constraint_isfalse' => '/Framework/Constraint/IsFalse.php',
|
||||
'phpunit_framework_constraint_isidentical' => '/Framework/Constraint/IsIdentical.php',
|
||||
'phpunit_framework_constraint_isinstanceof' => '/Framework/Constraint/IsInstanceOf.php',
|
||||
'phpunit_framework_constraint_isjson' => '/Framework/Constraint/IsJson.php',
|
||||
'phpunit_framework_constraint_isnull' => '/Framework/Constraint/IsNull.php',
|
||||
'phpunit_framework_constraint_istrue' => '/Framework/Constraint/IsTrue.php',
|
||||
'phpunit_framework_constraint_istype' => '/Framework/Constraint/IsType.php',
|
||||
'phpunit_framework_constraint_jsonmatches' => '/Framework/Constraint/JsonMatches.php',
|
||||
'phpunit_framework_constraint_jsonmatches_errormessageprovider' => '/Framework/Constraint/JsonMatches/ErrorMessageProvider.php',
|
||||
'phpunit_framework_constraint_lessthan' => '/Framework/Constraint/LessThan.php',
|
||||
'phpunit_framework_constraint_not' => '/Framework/Constraint/Not.php',
|
||||
'phpunit_framework_constraint_objecthasattribute' => '/Framework/Constraint/ObjectHasAttribute.php',
|
||||
'phpunit_framework_constraint_or' => '/Framework/Constraint/Or.php',
|
||||
'phpunit_framework_constraint_pcrematch' => '/Framework/Constraint/PCREMatch.php',
|
||||
'phpunit_framework_constraint_samesize' => '/Framework/Constraint/SameSize.php',
|
||||
'phpunit_framework_constraint_stringcontains' => '/Framework/Constraint/StringContains.php',
|
||||
'phpunit_framework_constraint_stringendswith' => '/Framework/Constraint/StringEndsWith.php',
|
||||
'phpunit_framework_constraint_stringmatches' => '/Framework/Constraint/StringMatches.php',
|
||||
'phpunit_framework_constraint_stringstartswith' => '/Framework/Constraint/StringStartsWith.php',
|
||||
'phpunit_framework_constraint_traversablecontains' => '/Framework/Constraint/TraversableContains.php',
|
||||
'phpunit_framework_constraint_traversablecontainsonly' => '/Framework/Constraint/TraversableContainsOnly.php',
|
||||
'phpunit_framework_constraint_xor' => '/Framework/Constraint/Xor.php',
|
||||
'phpunit_framework_error' => '/Framework/Error.php',
|
||||
'phpunit_framework_error_deprecated' => '/Framework/Error/Deprecated.php',
|
||||
'phpunit_framework_error_notice' => '/Framework/Error/Notice.php',
|
||||
'phpunit_framework_error_warning' => '/Framework/Error/Warning.php',
|
||||
'phpunit_framework_exception' => '/Framework/Exception.php',
|
||||
'phpunit_framework_expectationfailedexception' => '/Framework/ExpectationFailedException.php',
|
||||
'phpunit_framework_incompletetest' => '/Framework/IncompleteTest.php',
|
||||
'phpunit_framework_incompletetesterror' => '/Framework/IncompleteTestError.php',
|
||||
'phpunit_framework_outputerror' => '/Framework/OutputError.php',
|
||||
'phpunit_framework_selfdescribing' => '/Framework/SelfDescribing.php',
|
||||
'phpunit_framework_skippedtest' => '/Framework/SkippedTest.php',
|
||||
'phpunit_framework_skippedtesterror' => '/Framework/SkippedTestError.php',
|
||||
'phpunit_framework_skippedtestsuiteerror' => '/Framework/SkippedTestSuiteError.php',
|
||||
'phpunit_framework_syntheticerror' => '/Framework/SyntheticError.php',
|
||||
'phpunit_framework_test' => '/Framework/Test.php',
|
||||
'phpunit_framework_testcase' => '/Framework/TestCase.php',
|
||||
'phpunit_framework_testfailure' => '/Framework/TestFailure.php',
|
||||
'phpunit_framework_testlistener' => '/Framework/TestListener.php',
|
||||
'phpunit_framework_testresult' => '/Framework/TestResult.php',
|
||||
'phpunit_framework_testsuite' => '/Framework/TestSuite.php',
|
||||
'phpunit_framework_testsuite_dataprovider' => '/Framework/TestSuite/DataProvider.php',
|
||||
'phpunit_framework_warning' => '/Framework/Warning.php',
|
||||
'phpunit_runner_basetestrunner' => '/Runner/BaseTestRunner.php',
|
||||
'phpunit_runner_standardtestsuiteloader' => '/Runner/StandardTestSuiteLoader.php',
|
||||
'phpunit_runner_testsuiteloader' => '/Runner/TestSuiteLoader.php',
|
||||
'phpunit_runner_version' => '/Runner/Version.php',
|
||||
'phpunit_textui_command' => '/TextUI/Command.php',
|
||||
'phpunit_textui_resultprinter' => '/TextUI/ResultPrinter.php',
|
||||
'phpunit_textui_testrunner' => '/TextUI/TestRunner.php',
|
||||
'phpunit_util_class' => '/Util/Class.php',
|
||||
'phpunit_util_configuration' => '/Util/Configuration.php',
|
||||
'phpunit_util_deprecatedfeature' => '/Util/DeprecatedFeature.php',
|
||||
'phpunit_util_deprecatedfeature_logger' => '/Util/DeprecatedFeature/Logger.php',
|
||||
'phpunit_util_diff' => '/Util/Diff.php',
|
||||
'phpunit_util_errorhandler' => '/Util/ErrorHandler.php',
|
||||
'phpunit_util_fileloader' => '/Util/Fileloader.php',
|
||||
'phpunit_util_filesystem' => '/Util/Filesystem.php',
|
||||
'phpunit_util_filter' => '/Util/Filter.php',
|
||||
'phpunit_util_getopt' => '/Util/Getopt.php',
|
||||
'phpunit_util_globalstate' => '/Util/GlobalState.php',
|
||||
'phpunit_util_invalidargumenthelper' => '/Util/InvalidArgumentHelper.php',
|
||||
'phpunit_util_log_json' => '/Util/Log/JSON.php',
|
||||
'phpunit_util_log_junit' => '/Util/Log/JUnit.php',
|
||||
'phpunit_util_log_tap' => '/Util/Log/TAP.php',
|
||||
'phpunit_util_php' => '/Util/PHP.php',
|
||||
'phpunit_util_php_default' => '/Util/PHP/Default.php',
|
||||
'phpunit_util_php_windows' => '/Util/PHP/Windows.php',
|
||||
'phpunit_util_printer' => '/Util/Printer.php',
|
||||
'phpunit_util_string' => '/Util/String.php',
|
||||
'phpunit_util_test' => '/Util/Test.php',
|
||||
'phpunit_util_testdox_nameprettifier' => '/Util/TestDox/NamePrettifier.php',
|
||||
'phpunit_util_testdox_resultprinter' => '/Util/TestDox/ResultPrinter.php',
|
||||
'phpunit_util_testdox_resultprinter_html' => '/Util/TestDox/ResultPrinter/HTML.php',
|
||||
'phpunit_util_testdox_resultprinter_text' => '/Util/TestDox/ResultPrinter/Text.php',
|
||||
'phpunit_util_testsuiteiterator' => '/Util/TestSuiteIterator.php',
|
||||
'phpunit_util_type' => '/Util/Type.php',
|
||||
'phpunit_util_xml' => '/Util/XML.php'
|
||||
);
|
||||
|
||||
$path = dirname(__FILE__);
|
||||
}
|
||||
|
||||
$cn = strtolower($class);
|
||||
|
||||
if (isset($classes[$cn])) {
|
||||
require $path . $classes[$cn];
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Symfony Yaml autoloader
|
||||
spl_autoload_register(
|
||||
function ($class) {
|
||||
if (0 === strpos(ltrim($class, '/'), 'Symfony\Component\Yaml')) {
|
||||
$file = sprintf(
|
||||
'Symfony/Component/Yaml%s.php',
|
||||
|
||||
substr(
|
||||
str_replace('\\', '/', $class),
|
||||
strlen('Symfony\Component\Yaml')
|
||||
)
|
||||
);
|
||||
|
||||
if (stream_resolve_include_path($file)) {
|
||||
require_once $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
if (stream_resolve_include_path('PHP/Invoker/Autoload.php')) {
|
||||
require_once 'PHP/Invoker/Autoload.php';
|
||||
}
|
||||
|
||||
if (stream_resolve_include_path('PHPUnit/Extensions/Database/Autoload.php')) {
|
||||
require_once 'PHPUnit/Extensions/Database/Autoload.php';
|
||||
}
|
||||
|
||||
if (stream_resolve_include_path('PHPUnit/Extensions/SeleniumCommon/Autoload.php')) {
|
||||
require_once 'PHPUnit/Extensions/SeleniumCommon/Autoload.php';
|
||||
}
|
||||
|
||||
else if (stream_resolve_include_path('PHPUnit/Extensions/SeleniumTestCase/Autoload.php')) {
|
||||
require_once 'PHPUnit/Extensions/SeleniumTestCase/Autoload.php';
|
||||
}
|
||||
|
||||
if (stream_resolve_include_path('PHPUnit/Extensions/Story/Autoload.php')) {
|
||||
require_once 'PHPUnit/Extensions/Story/Autoload.php';
|
||||
}
|
||||
99
database/php/pear/PHPUnit/Extensions/GroupTestSuite.php
Normal file
99
database/php/pear/PHPUnit/Extensions/GroupTestSuite.php
Normal file
@@ -0,0 +1,99 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* We have a TestSuite object A.
|
||||
* In TestSuite object A we have Tests tagged with @group.
|
||||
* We want a TestSuite object B that contains TestSuite objects C, D, ...
|
||||
* for the Tests tagged with @group C, @group D, ...
|
||||
* Running the Tests from TestSuite object B results in Tests tagged with both
|
||||
* @group C and @group D in TestSuite object A to be run twice .
|
||||
*
|
||||
* <code>
|
||||
* $suite = new PHPUnit_Extensions_GroupTestSuite($A, array('C', 'D'));
|
||||
* </code>
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.3.0
|
||||
*/
|
||||
class PHPUnit_Extensions_GroupTestSuite extends PHPUnit_Framework_TestSuite
|
||||
{
|
||||
public function __construct(PHPUnit_Framework_TestSuite $suite, array $groups)
|
||||
{
|
||||
$groupSuites = array();
|
||||
$name = $suite->getName();
|
||||
|
||||
foreach ($groups as $group) {
|
||||
$groupSuites[$group] = new PHPUnit_Framework_TestSuite($name . ' - ' . $group);
|
||||
$this->addTest($groupSuites[$group]);
|
||||
}
|
||||
|
||||
$tests = new RecursiveIteratorIterator(
|
||||
new PHPUnit_Util_TestSuiteIterator($suite),
|
||||
RecursiveIteratorIterator::LEAVES_ONLY
|
||||
);
|
||||
|
||||
foreach ($tests as $test) {
|
||||
if ($test instanceof PHPUnit_Framework_TestCase) {
|
||||
$testGroups = PHPUnit_Util_Test::getGroups(
|
||||
get_class($test), $test->getName(FALSE)
|
||||
);
|
||||
|
||||
foreach ($groups as $group) {
|
||||
foreach ($testGroups as $testGroup) {
|
||||
if ($group == $testGroup) {
|
||||
$groupSuites[$group]->addTest($test);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
269
database/php/pear/PHPUnit/Extensions/PhptTestCase.php
Normal file
269
database/php/pear/PHPUnit/Extensions/PhptTestCase.php
Normal file
@@ -0,0 +1,269 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions_PhptTestCase
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.1.4
|
||||
*/
|
||||
|
||||
if (stream_resolve_include_path('PEAR/RunTest.php')) {
|
||||
$currentErrorReporting = error_reporting(E_ERROR | E_WARNING | E_PARSE);
|
||||
require_once 'PEAR/RunTest.php';
|
||||
error_reporting($currentErrorReporting);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wrapper to run .phpt test cases.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions_PhptTestCase
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.1.4
|
||||
*/
|
||||
class PHPUnit_Extensions_PhptTestCase implements PHPUnit_Framework_Test, PHPUnit_Framework_SelfDescribing
|
||||
{
|
||||
/**
|
||||
* The filename of the .phpt file.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $filename;
|
||||
|
||||
/**
|
||||
* Options for PEAR_RunTest.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $options = array();
|
||||
|
||||
/**
|
||||
* Constructs a test case with the given filename.
|
||||
*
|
||||
* @param string $filename
|
||||
* @param array $options
|
||||
*/
|
||||
public function __construct($filename, array $options = array())
|
||||
{
|
||||
if (!is_string($filename)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
|
||||
}
|
||||
|
||||
if (!is_file($filename)) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'File "%s" does not exist.',
|
||||
$filename
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$this->filename = $filename;
|
||||
$this->options = $options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of test cases executed by run(TestResult result).
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs a test and collects its result in a TestResult instance.
|
||||
*
|
||||
* @param PHPUnit_Framework_TestResult $result
|
||||
* @param array $options
|
||||
* @return PHPUnit_Framework_TestResult
|
||||
*/
|
||||
public function run(PHPUnit_Framework_TestResult $result = NULL, array $options = array())
|
||||
{
|
||||
if (!class_exists('PEAR_RunTest', FALSE)) {
|
||||
throw new PHPUnit_Framework_Exception('Class PEAR_RunTest not found.');
|
||||
}
|
||||
|
||||
if (isset($GLOBALS['_PEAR_destructor_object_list']) &&
|
||||
is_array($GLOBALS['_PEAR_destructor_object_list']) &&
|
||||
!empty($GLOBALS['_PEAR_destructor_object_list'])) {
|
||||
$pearDestructorObjectListCount = count($GLOBALS['_PEAR_destructor_object_list']);
|
||||
} else {
|
||||
$pearDestructorObjectListCount = 0;
|
||||
}
|
||||
|
||||
if ($result === NULL) {
|
||||
$result = new PHPUnit_Framework_TestResult;
|
||||
}
|
||||
|
||||
$coverage = $result->getCollectCodeCoverageInformation();
|
||||
$options = array_merge($options, $this->options);
|
||||
|
||||
if (!isset($options['include_path'])) {
|
||||
$options['include_path'] = get_include_path();
|
||||
}
|
||||
|
||||
if ($coverage) {
|
||||
$options['coverage'] = TRUE;
|
||||
} else {
|
||||
$options['coverage'] = FALSE;
|
||||
}
|
||||
|
||||
$currentErrorReporting = error_reporting(E_ERROR | E_WARNING | E_PARSE);
|
||||
$runner = new PEAR_RunTest(new PHPUnit_Extensions_PhptTestCase_Logger, $options);
|
||||
|
||||
if ($coverage) {
|
||||
$runner->xdebug_loaded = TRUE;
|
||||
} else {
|
||||
$runner->xdebug_loaded = FALSE;
|
||||
}
|
||||
|
||||
$result->startTest($this);
|
||||
|
||||
PHP_Timer::start();
|
||||
|
||||
$buffer = $runner->run($this->filename, $options);
|
||||
$time = PHP_Timer::stop();
|
||||
|
||||
error_reporting($currentErrorReporting);
|
||||
|
||||
$base = basename($this->filename);
|
||||
$path = dirname($this->filename);
|
||||
$coverageFile = $path . DIRECTORY_SEPARATOR . str_replace(
|
||||
'.phpt', '.xdebug', $base
|
||||
);
|
||||
$diffFile = $path . DIRECTORY_SEPARATOR . str_replace(
|
||||
'.phpt', '.diff', $base
|
||||
);
|
||||
$expFile = $path . DIRECTORY_SEPARATOR . str_replace(
|
||||
'.phpt', '.exp', $base
|
||||
);
|
||||
$logFile = $path . DIRECTORY_SEPARATOR . str_replace(
|
||||
'.phpt', '.log', $base
|
||||
);
|
||||
$outFile = $path . DIRECTORY_SEPARATOR . str_replace(
|
||||
'.phpt', '.out', $base
|
||||
);
|
||||
$phpFile = $path . DIRECTORY_SEPARATOR . str_replace(
|
||||
'.phpt', '.php', $base
|
||||
);
|
||||
|
||||
if (is_object($buffer) && $buffer instanceof PEAR_Error) {
|
||||
$result->addError(
|
||||
$this,
|
||||
new PHPUnit_Framework_Exception($buffer->getMessage()),
|
||||
$time
|
||||
);
|
||||
}
|
||||
|
||||
else if ($buffer == 'SKIPPED') {
|
||||
$result->addFailure($this, new PHPUnit_Framework_SkippedTestError, 0);
|
||||
}
|
||||
|
||||
else if ($buffer != 'PASSED') {
|
||||
$expContent = file_get_contents($expFile);
|
||||
$outContent = file_get_contents($outFile);
|
||||
|
||||
$result->addFailure(
|
||||
$this,
|
||||
new PHPUnit_Framework_ComparisonFailure(
|
||||
$expContent,
|
||||
$outContent,
|
||||
$expContent,
|
||||
$outContent
|
||||
),
|
||||
$time
|
||||
);
|
||||
}
|
||||
|
||||
foreach (array($diffFile, $expFile, $logFile, $phpFile, $outFile) as $file) {
|
||||
if (file_exists($file)) {
|
||||
unlink($file);
|
||||
}
|
||||
}
|
||||
|
||||
if ($coverage && file_exists($coverageFile)) {
|
||||
eval('$coverageData = ' . file_get_contents($coverageFile) . ';');
|
||||
unset($coverageData[$phpFile]);
|
||||
|
||||
$result->getCodeCoverage()->append($coverageData, $this);
|
||||
unlink($coverageFile);
|
||||
}
|
||||
|
||||
$result->endTest($this, $time);
|
||||
|
||||
// Do not invoke PEAR's destructor mechanism for PHP 4
|
||||
// as it raises an E_STRICT.
|
||||
if ($pearDestructorObjectListCount == 0) {
|
||||
unset($GLOBALS['_PEAR_destructor_object_list']);
|
||||
} else {
|
||||
$count = count($GLOBALS['_PEAR_destructor_object_list']) - $pearDestructorObjectListCount;
|
||||
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
array_pop($GLOBALS['_PEAR_destructor_object_list']);
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the name of the test case.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the test case.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return $this->filename;
|
||||
}
|
||||
}
|
||||
62
database/php/pear/PHPUnit/Extensions/PhptTestCase/Logger.php
Normal file
62
database/php/pear/PHPUnit/Extensions/PhptTestCase/Logger.php
Normal file
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions_PhptTestCase
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.1.4
|
||||
*/
|
||||
|
||||
/**
|
||||
* Dummy logger for PEAR_RunTest.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions_PhptTestCase
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.1.4
|
||||
*/
|
||||
class PHPUnit_Extensions_PhptTestCase_Logger
|
||||
{
|
||||
public function log($level, $msg, $append_crlf = TRUE)
|
||||
{
|
||||
}
|
||||
}
|
||||
82
database/php/pear/PHPUnit/Extensions/PhptTestSuite.php
Normal file
82
database/php/pear/PHPUnit/Extensions/PhptTestSuite.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions_PhptTestCase
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.1.4
|
||||
*/
|
||||
|
||||
/**
|
||||
* Suite for .phpt test cases.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions_PhptTestCase
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.1.4
|
||||
*/
|
||||
class PHPUnit_Extensions_PhptTestSuite extends PHPUnit_Framework_TestSuite
|
||||
{
|
||||
/**
|
||||
* Constructs a new TestSuite for .phpt test cases.
|
||||
*
|
||||
* @param string $directory
|
||||
* @param array $options Array with ini settings for the php instance run,
|
||||
* key being the name if the setting, value the ini value.
|
||||
* @throws PHPUnit_Framework_Exception
|
||||
*/
|
||||
public function __construct($directory, array $options = array())
|
||||
{
|
||||
if (is_string($directory) && is_dir($directory)) {
|
||||
$this->setName($directory);
|
||||
|
||||
$facade = new File_Iterator_Facade;
|
||||
$files = $facade->getFilesAsArray($directory, '.phpt');
|
||||
|
||||
foreach ($files as $file) {
|
||||
$this->addTestFile($file, $options);
|
||||
}
|
||||
} else {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'directory name');
|
||||
}
|
||||
}
|
||||
}
|
||||
155
database/php/pear/PHPUnit/Extensions/RepeatedTest.php
Normal file
155
database/php/pear/PHPUnit/Extensions/RepeatedTest.php
Normal file
@@ -0,0 +1,155 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 2.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* A Decorator that runs a test repeatedly.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 2.0.0
|
||||
*/
|
||||
class PHPUnit_Extensions_RepeatedTest extends PHPUnit_Extensions_TestDecorator
|
||||
{
|
||||
/**
|
||||
* @var mixed
|
||||
*/
|
||||
protected $filter = FALSE;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $groups = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $excludeGroups = array();
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
protected $processIsolation = FALSE;
|
||||
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
protected $timesRepeat = 1;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param PHPUnit_Framework_Test $test
|
||||
* @param integer $timesRepeat
|
||||
* @param mixed $filter
|
||||
* @param array $groups
|
||||
* @param array $excludeGroups
|
||||
* @param boolean $processIsolation
|
||||
* @throws PHPUnit_Framework_Exception
|
||||
*/
|
||||
public function __construct(PHPUnit_Framework_Test $test, $timesRepeat = 1, $filter = FALSE, array $groups = array(), array $excludeGroups = array(), $processIsolation = FALSE)
|
||||
{
|
||||
parent::__construct($test);
|
||||
|
||||
if (is_integer($timesRepeat) &&
|
||||
$timesRepeat >= 0) {
|
||||
$this->timesRepeat = $timesRepeat;
|
||||
} else {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(
|
||||
2, 'positive integer'
|
||||
);
|
||||
}
|
||||
|
||||
$this->filter = $filter;
|
||||
$this->groups = $groups;
|
||||
$this->excludeGroups = $excludeGroups;
|
||||
$this->processIsolation = $processIsolation;
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of test cases that
|
||||
* will be run by this test.
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return $this->timesRepeat * count($this->test);
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs the decorated test and collects the
|
||||
* result in a TestResult.
|
||||
*
|
||||
* @param PHPUnit_Framework_TestResult $result
|
||||
* @return PHPUnit_Framework_TestResult
|
||||
* @throws PHPUnit_Framework_Exception
|
||||
*/
|
||||
public function run(PHPUnit_Framework_TestResult $result = NULL)
|
||||
{
|
||||
if ($result === NULL) {
|
||||
$result = $this->createResult();
|
||||
}
|
||||
|
||||
//@codingStandardsIgnoreStart
|
||||
for ($i = 0; $i < $this->timesRepeat && !$result->shouldStop(); $i++) {
|
||||
//@codingStandardsIgnoreEnd
|
||||
if ($this->test instanceof PHPUnit_Framework_TestSuite) {
|
||||
$this->test->run(
|
||||
$result,
|
||||
$this->filter,
|
||||
$this->groups,
|
||||
$this->excludeGroups,
|
||||
$this->processIsolation
|
||||
);
|
||||
} else {
|
||||
$this->test->run($result);
|
||||
}
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
149
database/php/pear/PHPUnit/Extensions/TestDecorator.php
Normal file
149
database/php/pear/PHPUnit/Extensions/TestDecorator.php
Normal file
@@ -0,0 +1,149 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 2.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* A Decorator for Tests.
|
||||
*
|
||||
* Use TestDecorator as the base class for defining new
|
||||
* test decorators. Test decorator subclasses can be introduced
|
||||
* to add behaviour before or after a test is run.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 2.0.0
|
||||
*/
|
||||
class PHPUnit_Extensions_TestDecorator extends PHPUnit_Framework_Assert implements PHPUnit_Framework_Test, PHPUnit_Framework_SelfDescribing
|
||||
{
|
||||
/**
|
||||
* The Test to be decorated.
|
||||
*
|
||||
* @var object
|
||||
*/
|
||||
protected $test = NULL;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param PHPUnit_Framework_Test $test
|
||||
*/
|
||||
public function __construct(PHPUnit_Framework_Test $test)
|
||||
{
|
||||
$this->test = $test;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the test.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return $this->test->toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs the test and collects the
|
||||
* result in a TestResult.
|
||||
*
|
||||
* @param PHPUnit_Framework_TestResult $result
|
||||
*/
|
||||
public function basicRun(PHPUnit_Framework_TestResult $result)
|
||||
{
|
||||
$this->test->run($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of test cases that
|
||||
* will be run by this test.
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return count($this->test);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a default TestResult object.
|
||||
*
|
||||
* @return PHPUnit_Framework_TestResult
|
||||
*/
|
||||
protected function createResult()
|
||||
{
|
||||
return new PHPUnit_Framework_TestResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the test to be run.
|
||||
*
|
||||
* @return PHPUnit_Framework_Test
|
||||
*/
|
||||
public function getTest()
|
||||
{
|
||||
return $this->test;
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs the decorated test and collects the
|
||||
* result in a TestResult.
|
||||
*
|
||||
* @param PHPUnit_Framework_TestResult $result
|
||||
* @return PHPUnit_Framework_TestResult
|
||||
*/
|
||||
public function run(PHPUnit_Framework_TestResult $result = NULL)
|
||||
{
|
||||
if ($result === NULL) {
|
||||
$result = $this->createResult();
|
||||
}
|
||||
|
||||
$this->basicRun($result);
|
||||
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
224
database/php/pear/PHPUnit/Extensions/TicketListener.php
Normal file
224
database/php/pear/PHPUnit/Extensions/TicketListener.php
Normal file
@@ -0,0 +1,224 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions_TicketListener
|
||||
* @author Sean Coates <sean@caedmon.net>
|
||||
* @author Raphael Stolt <raphael.stolt@gmail.com>
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.4.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Base class for test listeners that interact with an issue tracker.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Extensions_TicketListener
|
||||
* @author Sean Coates <sean@caedmon.net>
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.4.0
|
||||
*/
|
||||
abstract class PHPUnit_Extensions_TicketListener implements PHPUnit_Framework_TestListener
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $ticketCounts = array();
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
protected $ran = FALSE;
|
||||
|
||||
/**
|
||||
* An error occurred.
|
||||
*
|
||||
* @param PHPUnit_Framework_Test $test
|
||||
* @param Exception $e
|
||||
* @param float $time
|
||||
*/
|
||||
public function addError(PHPUnit_Framework_Test $test, Exception $e, $time)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* A failure occurred.
|
||||
*
|
||||
* @param PHPUnit_Framework_Test $test
|
||||
* @param PHPUnit_Framework_AssertionFailedError $e
|
||||
* @param float $time
|
||||
*/
|
||||
public function addFailure(PHPUnit_Framework_Test $test, PHPUnit_Framework_AssertionFailedError $e, $time)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Incomplete test.
|
||||
*
|
||||
* @param PHPUnit_Framework_Test $test
|
||||
* @param Exception $e
|
||||
* @param float $time
|
||||
*/
|
||||
public function addIncompleteTest(PHPUnit_Framework_Test $test, Exception $e, $time)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Skipped test.
|
||||
*
|
||||
* @param PHPUnit_Framework_Test $test
|
||||
* @param Exception $e
|
||||
* @param float $time
|
||||
* @since Method available since Release 3.0.0
|
||||
*/
|
||||
public function addSkippedTest(PHPUnit_Framework_Test $test, Exception $e, $time)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* A test suite started.
|
||||
*
|
||||
* @param PHPUnit_Framework_TestSuite $suite
|
||||
* @since Method available since Release 2.2.0
|
||||
*/
|
||||
public function startTestSuite(PHPUnit_Framework_TestSuite $suite)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* A test suite ended.
|
||||
*
|
||||
* @param PHPUnit_Framework_TestSuite $suite
|
||||
* @since Method available since Release 2.2.0
|
||||
*/
|
||||
public function endTestSuite(PHPUnit_Framework_TestSuite $suite)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* A test started.
|
||||
*
|
||||
* @param PHPUnit_Framework_Test $test
|
||||
*/
|
||||
public function startTest(PHPUnit_Framework_Test $test)
|
||||
{
|
||||
if (!$test instanceof PHPUnit_Framework_Warning) {
|
||||
if ($this->ran) {
|
||||
return;
|
||||
}
|
||||
|
||||
$name = $test->getName(FALSE);
|
||||
$tickets = PHPUnit_Util_Test::getTickets(get_class($test), $name);
|
||||
|
||||
foreach ($tickets as $ticket) {
|
||||
$this->ticketCounts[$ticket][$name] = 1;
|
||||
}
|
||||
|
||||
$this->ran = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* A test ended.
|
||||
*
|
||||
* @param PHPUnit_Framework_Test $test
|
||||
* @param float $time
|
||||
*/
|
||||
public function endTest(PHPUnit_Framework_Test $test, $time)
|
||||
{
|
||||
if (!$test instanceof PHPUnit_Framework_Warning) {
|
||||
if ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
|
||||
$ifStatus = array('assigned', 'new', 'reopened');
|
||||
$newStatus = 'closed';
|
||||
$message = 'Automatically closed by PHPUnit (test passed).';
|
||||
$resolution = 'fixed';
|
||||
$cumulative = TRUE;
|
||||
}
|
||||
|
||||
else if ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE) {
|
||||
$ifStatus = array('closed');
|
||||
$newStatus = 'reopened';
|
||||
$message = 'Automatically reopened by PHPUnit (test failed).';
|
||||
$resolution = '';
|
||||
$cumulative = FALSE;
|
||||
}
|
||||
|
||||
else {
|
||||
return;
|
||||
}
|
||||
|
||||
$name = $test->getName(FALSE);
|
||||
$tickets = PHPUnit_Util_Test::getTickets(get_class($test), $name);
|
||||
|
||||
foreach ($tickets as $ticket) {
|
||||
// Remove this test from the totals (if it passed).
|
||||
if ($test->getStatus() == PHPUnit_Runner_BaseTestRunner::STATUS_PASSED) {
|
||||
unset($this->ticketCounts[$ticket][$name]);
|
||||
}
|
||||
|
||||
// Only close tickets if ALL referenced cases pass
|
||||
// but reopen tickets if a single test fails.
|
||||
if ($cumulative) {
|
||||
// Determine number of to-pass tests:
|
||||
if (count($this->ticketCounts[$ticket]) > 0) {
|
||||
// There exist remaining test cases with this reference.
|
||||
$adjustTicket = FALSE;
|
||||
} else {
|
||||
// No remaining tickets, go ahead and adjust.
|
||||
$adjustTicket = TRUE;
|
||||
}
|
||||
} else {
|
||||
$adjustTicket = TRUE;
|
||||
}
|
||||
|
||||
$ticketInfo = $this->getTicketInfo($ticket);
|
||||
|
||||
if ($adjustTicket && in_array($ticketInfo['status'], $ifStatus)) {
|
||||
$this->updateTicket($ticket, $newStatus, $message, $resolution);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
abstract protected function getTicketInfo($ticketId = NULL);
|
||||
abstract protected function updateTicket($ticketId, $newStatus, $message, $resolution);
|
||||
}
|
||||
2844
database/php/pear/PHPUnit/Framework/Assert.php
Normal file
2844
database/php/pear/PHPUnit/Framework/Assert.php
Normal file
File diff suppressed because it is too large
Load Diff
2428
database/php/pear/PHPUnit/Framework/Assert/Functions.php
Normal file
2428
database/php/pear/PHPUnit/Framework/Assert/Functions.php
Normal file
File diff suppressed because it is too large
Load Diff
68
database/php/pear/PHPUnit/Framework/AssertionFailedError.php
Normal file
68
database/php/pear/PHPUnit/Framework/AssertionFailedError.php
Normal file
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 2.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Thrown when an assertion failed.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 2.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_AssertionFailedError extends PHPUnit_Framework_Exception implements PHPUnit_Framework_SelfDescribing
|
||||
{
|
||||
/**
|
||||
* Wrapper for getMessage() which is declared as final.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return $this->getMessage();
|
||||
}
|
||||
}
|
||||
97
database/php/pear/PHPUnit/Framework/Comparator.php
Normal file
97
database/php/pear/PHPUnit/Framework/Comparator.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Abstract base class for comparators which compare values for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
abstract class PHPUnit_Framework_Comparator
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_ComparatorFactory
|
||||
*/
|
||||
protected $factory;
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_ComparatorFactory $factory
|
||||
*/
|
||||
public function setFactory(PHPUnit_Framework_ComparatorFactory $factory)
|
||||
{
|
||||
$this->factory = $factory;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
abstract public function accepts($expected, $actual);
|
||||
|
||||
/**
|
||||
* Asserts that two values are equal.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @param float $delta The allowed numerical distance between two values to
|
||||
* consider them equal
|
||||
* @param bool $canonicalize If set to TRUE, arrays are sorted before
|
||||
* comparison
|
||||
* @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
|
||||
* ignored when comparing string values
|
||||
* @throws PHPUnit_Framework_ComparisonFailure Thrown when the comparison
|
||||
* fails. Contains information about the
|
||||
* specific errors that lead to the failure.
|
||||
*/
|
||||
abstract public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE);
|
||||
}
|
||||
177
database/php/pear/PHPUnit/Framework/Comparator/Array.php
Normal file
177
database/php/pear/PHPUnit/Framework/Comparator/Array.php
Normal file
@@ -0,0 +1,177 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares arrays for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_Array extends PHPUnit_Framework_Comparator
|
||||
{
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
return is_array($expected) && is_array($actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two values are equal.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @param float $delta The allowed numerical distance between two values to
|
||||
* consider them equal
|
||||
* @param bool $canonicalize If set to TRUE, arrays are sorted before
|
||||
* comparison
|
||||
* @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
|
||||
* ignored when comparing string values
|
||||
* @throws PHPUnit_Framework_ComparisonFailure Thrown when the comparison
|
||||
* fails. Contains information about the
|
||||
* specific errors that lead to the failure.
|
||||
*/
|
||||
public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE, array &$processed = array())
|
||||
{
|
||||
if ($canonicalize) {
|
||||
sort($expected);
|
||||
sort($actual);
|
||||
}
|
||||
|
||||
$remaining = $actual;
|
||||
$expString = $actString = "Array (\n";
|
||||
$equal = TRUE;
|
||||
|
||||
foreach ($expected as $key => $value) {
|
||||
unset($remaining[$key]);
|
||||
|
||||
if (!array_key_exists($key, $actual)) {
|
||||
$expString .= sprintf(
|
||||
" %s => %s\n",
|
||||
|
||||
PHPUnit_Util_Type::export($key),
|
||||
PHPUnit_Util_Type::shortenedExport($value)
|
||||
);
|
||||
$equal = FALSE;
|
||||
continue;
|
||||
}
|
||||
|
||||
try {
|
||||
$this->factory->getComparatorFor($value, $actual[$key])->assertEquals($value, $actual[$key], $delta, $canonicalize, $ignoreCase, $processed);
|
||||
$expString .= sprintf(
|
||||
" %s => %s\n",
|
||||
|
||||
PHPUnit_Util_Type::export($key),
|
||||
PHPUnit_Util_Type::shortenedExport($value)
|
||||
);
|
||||
$actString .= sprintf(
|
||||
" %s => %s\n",
|
||||
|
||||
PHPUnit_Util_Type::export($key),
|
||||
PHPUnit_Util_Type::shortenedExport($actual[$key])
|
||||
);
|
||||
}
|
||||
|
||||
catch (PHPUnit_Framework_ComparisonFailure $e) {
|
||||
$expString .= sprintf(
|
||||
" %s => %s\n",
|
||||
|
||||
PHPUnit_Util_Type::export($key),
|
||||
$e->getExpectedAsString()
|
||||
? $this->indent($e->getExpectedAsString())
|
||||
: PHPUnit_Util_Type::shortenedExport($e->getExpected())
|
||||
);
|
||||
$actString .= sprintf(
|
||||
" %s => %s\n",
|
||||
|
||||
PHPUnit_Util_Type::export($key),
|
||||
$e->getActualAsString()
|
||||
? $this->indent($e->getActualAsString())
|
||||
: PHPUnit_Util_Type::shortenedExport($e->getActual())
|
||||
);
|
||||
$equal = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($remaining as $key => $value) {
|
||||
$actString .= sprintf(
|
||||
" %s => %s\n",
|
||||
|
||||
PHPUnit_Util_Type::export($key),
|
||||
PHPUnit_Util_Type::shortenedExport($value)
|
||||
);
|
||||
$equal = FALSE;
|
||||
}
|
||||
|
||||
$expString .= ')';
|
||||
$actString .= ')';
|
||||
|
||||
if (!$equal) {
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
$expString,
|
||||
$actString,
|
||||
FALSE,
|
||||
'Failed asserting that two arrays are equal.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
protected function indent($lines)
|
||||
{
|
||||
return trim(str_replace("\n", "\n ", $lines));
|
||||
}
|
||||
}
|
||||
114
database/php/pear/PHPUnit/Framework/Comparator/DOMDocument.php
Normal file
114
database/php/pear/PHPUnit/Framework/Comparator/DOMDocument.php
Normal file
@@ -0,0 +1,114 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares DOMDocument instances for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_DOMDocument extends PHPUnit_Framework_Comparator_Object
|
||||
{
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
return $expected instanceof DOMDocument && $actual instanceof DOMDocument;
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two values are equal.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @param float $delta The allowed numerical distance between two values to
|
||||
* consider them equal
|
||||
* @param bool $canonicalize If set to TRUE, arrays are sorted before
|
||||
* comparison
|
||||
* @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
|
||||
* ignored when comparing string values
|
||||
* @throws PHPUnit_Framework_ComparisonFailure Thrown when the comparison
|
||||
* fails. Contains information about the
|
||||
* specific errors that lead to the failure.
|
||||
*/
|
||||
public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE)
|
||||
{
|
||||
if ($expected->C14N() !== $actual->C14N()) {
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
$this->domToText($expected),
|
||||
$this->domToText($actual),
|
||||
FALSE,
|
||||
'Failed asserting that two DOM documents are equal.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the normalized, whitespace-cleaned, and indented textual
|
||||
* representation of a DOMDocument.
|
||||
*
|
||||
* @param DOMDocument $document
|
||||
* @return string
|
||||
*/
|
||||
protected function domToText(DOMDocument $document)
|
||||
{
|
||||
$document->formatOutput = TRUE;
|
||||
$document->normalizeDocument();
|
||||
|
||||
return $document->saveXML();
|
||||
}
|
||||
}
|
||||
101
database/php/pear/PHPUnit/Framework/Comparator/Double.php
Normal file
101
database/php/pear/PHPUnit/Framework/Comparator/Double.php
Normal file
@@ -0,0 +1,101 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares doubles for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_Double extends PHPUnit_Framework_Comparator_Numeric
|
||||
{
|
||||
/**
|
||||
* Smallest value available in PHP.
|
||||
*
|
||||
* @var float
|
||||
*/
|
||||
const EPSILON = 0.0000000001;
|
||||
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
return (is_double($expected) || is_double($actual)) && is_numeric($expected) && is_numeric($actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two values are equal.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @param float $delta The allowed numerical distance between two values to
|
||||
* consider them equal
|
||||
* @param bool $canonicalize If set to TRUE, arrays are sorted before
|
||||
* comparison
|
||||
* @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
|
||||
* ignored when comparing string values
|
||||
* @throws PHPUnit_Framework_ComparisonFailure Thrown when the comparison
|
||||
* fails. Contains information about the
|
||||
* specific errors that lead to the failure.
|
||||
*/
|
||||
public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE)
|
||||
{
|
||||
if ($delta == 0) {
|
||||
$delta = self::EPSILON;
|
||||
}
|
||||
|
||||
parent::assertEquals($expected, $actual, $delta, $canonicalize, $ignoreCase);
|
||||
}
|
||||
}
|
||||
92
database/php/pear/PHPUnit/Framework/Comparator/Exception.php
Normal file
92
database/php/pear/PHPUnit/Framework/Comparator/Exception.php
Normal file
@@ -0,0 +1,92 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares Exception instances for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_Exception extends PHPUnit_Framework_Comparator_Object
|
||||
{
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
return $expected instanceof Exception && $actual instanceof Exception;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts an object to an array containing all of its private, protected
|
||||
* and public properties.
|
||||
*
|
||||
* @param object $object
|
||||
* @return array
|
||||
*/
|
||||
protected function toArray($object)
|
||||
{
|
||||
$array = parent::toArray($object);
|
||||
|
||||
unset(
|
||||
$array['file'],
|
||||
$array['line'],
|
||||
$array['trace'],
|
||||
$array['string'], // some internal property of Exception
|
||||
$array['xdebug_message'] // some internal property added by XDebug
|
||||
);
|
||||
|
||||
return $array;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares PHPUnit_Framework_MockObject_MockObject instances for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_MockObject extends PHPUnit_Framework_Comparator_Object
|
||||
{
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
return $expected instanceof PHPUnit_Framework_MockObject_MockObject && $actual instanceof PHPUnit_Framework_MockObject_MockObject;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts an object to an array containing all of its private, protected
|
||||
* and public properties.
|
||||
*
|
||||
* @param object $object
|
||||
* @return array
|
||||
*/
|
||||
protected function toArray($object)
|
||||
{
|
||||
$array = parent::toArray($object);
|
||||
|
||||
unset($array['__phpunit_invocationMocker']);
|
||||
|
||||
return $array;
|
||||
}
|
||||
}
|
||||
112
database/php/pear/PHPUnit/Framework/Comparator/Numeric.php
Normal file
112
database/php/pear/PHPUnit/Framework/Comparator/Numeric.php
Normal file
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares numerical values for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @author Alexander <iam.asm89@gmail.com>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_Numeric extends PHPUnit_Framework_Comparator_Scalar
|
||||
{
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
// all numerical values, but not if one of them is a double
|
||||
return is_numeric($expected) && is_numeric($actual) && !(is_double($expected) || is_double($actual));
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two values are equal.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @param float $delta The allowed numerical distance between two values to
|
||||
* consider them equal
|
||||
* @param bool $canonicalize If set to TRUE, arrays are sorted before
|
||||
* comparison
|
||||
* @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
|
||||
* ignored when comparing string values
|
||||
* @throws PHPUnit_Framework_ComparisonFailure Thrown when the comparison
|
||||
* fails. Contains information about the
|
||||
* specific errors that lead to the failure.
|
||||
*/
|
||||
public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE)
|
||||
{
|
||||
if (is_infinite($actual) && is_infinite($expected)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ((is_infinite($actual) XOR is_infinite($expected)) ||
|
||||
(is_nan($actual) OR is_nan($expected)) ||
|
||||
abs($actual - $expected) > $delta) {
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
'',
|
||||
'',
|
||||
FALSE,
|
||||
sprintf(
|
||||
'Failed asserting that %s matches expected %s.',
|
||||
|
||||
PHPUnit_Util_Type::export($actual),
|
||||
PHPUnit_Util_Type::export($expected)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
145
database/php/pear/PHPUnit/Framework/Comparator/Object.php
Normal file
145
database/php/pear/PHPUnit/Framework/Comparator/Object.php
Normal file
@@ -0,0 +1,145 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares objects for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_Object extends PHPUnit_Framework_Comparator_Array
|
||||
{
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
return is_object($expected) && is_object($actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two values are equal.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @param float $delta The allowed numerical distance between two values to
|
||||
* consider them equal
|
||||
* @param bool $canonicalize If set to TRUE, arrays are sorted before
|
||||
* comparison
|
||||
* @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
|
||||
* ignored when comparing string values
|
||||
* @throws PHPUnit_Framework_ComparisonFailure Thrown when the comparison
|
||||
* fails. Contains information about the
|
||||
* specific errors that lead to the failure.
|
||||
*/
|
||||
public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE, array &$processed = array())
|
||||
{
|
||||
if (get_class($actual) !== get_class($expected)) {
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
PHPUnit_Util_Type::export($expected),
|
||||
PHPUnit_Util_Type::export($actual),
|
||||
FALSE,
|
||||
sprintf(
|
||||
'%s is not instance of expected class "%s".',
|
||||
|
||||
PHPUnit_Util_Type::export($actual),
|
||||
get_class($expected)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// don't compare twice to allow for cyclic dependencies
|
||||
if (in_array(array($actual, $expected), $processed, TRUE) ||
|
||||
in_array(array($expected, $actual), $processed, TRUE)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$processed[] = array($actual, $expected);
|
||||
|
||||
// don't compare objects if they are identical
|
||||
// this helps to avoid the error "maximum function nesting level reached"
|
||||
// CAUTION: this conditional clause is not tested
|
||||
if ($actual !== $expected) {
|
||||
try {
|
||||
parent::assertEquals($this->toArray($expected), $this->toArray($actual), $delta, $canonicalize, $ignoreCase, $processed);
|
||||
}
|
||||
|
||||
catch (PHPUnit_Framework_ComparisonFailure $e) {
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
// replace "Array" with "MyClass object"
|
||||
substr_replace($e->getExpectedAsString(), get_class($expected) . ' Object', 0, 5),
|
||||
substr_replace($e->getActualAsString(), get_class($actual) . ' Object', 0, 5),
|
||||
FALSE,
|
||||
'Failed asserting that two objects are equal.'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts an object to an array containing all of its private, protected
|
||||
* and public properties.
|
||||
*
|
||||
* @param object $object
|
||||
* @return array
|
||||
*/
|
||||
protected function toArray($object)
|
||||
{
|
||||
return PHPUnit_Util_Type::toArray($object);
|
||||
}
|
||||
}
|
||||
97
database/php/pear/PHPUnit/Framework/Comparator/Resource.php
Normal file
97
database/php/pear/PHPUnit/Framework/Comparator/Resource.php
Normal file
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares resources for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_Resource extends PHPUnit_Framework_Comparator
|
||||
{
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
return is_resource($expected) && is_resource($actual);
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two values are equal.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @param float $delta The allowed numerical distance between two values to
|
||||
* consider them equal
|
||||
* @param bool $canonicalize If set to TRUE, arrays are sorted before
|
||||
* comparison
|
||||
* @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
|
||||
* ignored when comparing string values
|
||||
* @throws PHPUnit_Framework_ComparisonFailure Thrown when the comparison
|
||||
* fails. Contains information about the
|
||||
* specific errors that lead to the failure.
|
||||
*/
|
||||
public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE)
|
||||
{
|
||||
if ($actual != $expected) {
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
PHPUnit_Util_Type::export($expected),
|
||||
PHPUnit_Util_Type::export($actual)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
136
database/php/pear/PHPUnit/Framework/Comparator/Scalar.php
Normal file
136
database/php/pear/PHPUnit/Framework/Comparator/Scalar.php
Normal file
@@ -0,0 +1,136 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares scalar or NULL values for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_Scalar extends PHPUnit_Framework_Comparator
|
||||
{
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
* @since Method available since Release 3.6.0
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
return ((is_scalar($expected) XOR NULL === $expected) &&
|
||||
(is_scalar($actual) XOR NULL === $actual))
|
||||
// allow comparison between strings and objects featuring __toString()
|
||||
|| (is_string($expected) && is_object($actual) && method_exists($actual, '__toString'))
|
||||
|| (is_object($expected) && method_exists($expected, '__toString') && is_string($actual));
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two values are equal.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @param float $delta The allowed numerical distance between two values to
|
||||
* consider them equal
|
||||
* @param bool $canonicalize If set to TRUE, arrays are sorted before
|
||||
* comparison
|
||||
* @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
|
||||
* ignored when comparing string values
|
||||
* @throws PHPUnit_Framework_ComparisonFailure Thrown when the comparison
|
||||
* fails. Contains information about the
|
||||
* specific errors that lead to the failure.
|
||||
*/
|
||||
public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE)
|
||||
{
|
||||
$expectedToCompare = $expected;
|
||||
$actualToCompare = $actual;
|
||||
|
||||
// always compare as strings to avoid strange behaviour
|
||||
// otherwise 0 == 'Foobar'
|
||||
if (is_string($expected) || is_string($actual)) {
|
||||
$expectedToCompare = (string)$expectedToCompare;
|
||||
$actualToCompare = (string)$actualToCompare;
|
||||
|
||||
if ($ignoreCase) {
|
||||
$expectedToCompare = strtolower($expectedToCompare);
|
||||
$actualToCompare = strtolower($actualToCompare);
|
||||
}
|
||||
}
|
||||
|
||||
if ($expectedToCompare != $actualToCompare) {
|
||||
if (is_string($expected) && is_string($actual)) {
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
PHPUnit_Util_Type::export($expected),
|
||||
PHPUnit_Util_Type::export($actual),
|
||||
FALSE,
|
||||
'Failed asserting that two strings are equal.'
|
||||
);
|
||||
}
|
||||
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
// no diff is required
|
||||
'',
|
||||
'',
|
||||
FALSE,
|
||||
sprintf(
|
||||
'Failed asserting that %s matches expected %s.',
|
||||
|
||||
PHPUnit_Util_Type::export($actual),
|
||||
PHPUnit_Util_Type::export($expected)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares SplObjectStorage instances for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_SplObjectStorage extends PHPUnit_Framework_Comparator
|
||||
{
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
return $expected instanceof SplObjectStorage && $actual instanceof SplObjectStorage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two values are equal.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @param float $delta The allowed numerical distance between two values to
|
||||
* consider them equal
|
||||
* @param bool $canonicalize If set to TRUE, arrays are sorted before
|
||||
* comparison
|
||||
* @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
|
||||
* ignored when comparing string values
|
||||
* @throws PHPUnit_Framework_ComparisonFailure Thrown when the comparison
|
||||
* fails. Contains information about the
|
||||
* specific errors that lead to the failure.
|
||||
*/
|
||||
public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE)
|
||||
{
|
||||
foreach ($actual as $object) {
|
||||
if (!$expected->contains($object)) {
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
PHPUnit_Util_Type::export($expected),
|
||||
PHPUnit_Util_Type::export($actual),
|
||||
FALSE,
|
||||
'Failed asserting that two objects are equal.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($expected as $object) {
|
||||
if (!$actual->contains($object)) {
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
PHPUnit_Util_Type::export($expected),
|
||||
PHPUnit_Util_Type::export($actual),
|
||||
FALSE,
|
||||
'Failed asserting that two objects are equal.'
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
105
database/php/pear/PHPUnit/Framework/Comparator/Type.php
Normal file
105
database/php/pear/PHPUnit/Framework/Comparator/Type.php
Normal file
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Compares values for type equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Comparator
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Comparator_Type extends PHPUnit_Framework_Comparator
|
||||
{
|
||||
/**
|
||||
* Returns whether the comparator can compare two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return boolean
|
||||
*/
|
||||
public function accepts($expected, $actual)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Asserts that two values are equal.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @param float $delta The allowed numerical distance between two values to
|
||||
* consider them equal
|
||||
* @param bool $canonicalize If set to TRUE, arrays are sorted before
|
||||
* comparison
|
||||
* @param bool $ignoreCase If set to TRUE, upper- and lowercasing is
|
||||
* ignored when comparing string values
|
||||
* @throws PHPUnit_Framework_ComparisonFailure Thrown when the comparison
|
||||
* fails. Contains information about the
|
||||
* specific errors that lead to the failure.
|
||||
*/
|
||||
public function assertEquals($expected, $actual, $delta = 0, $canonicalize = FALSE, $ignoreCase = FALSE)
|
||||
{
|
||||
if (gettype($expected) != gettype($actual)) {
|
||||
throw new PHPUnit_Framework_ComparisonFailure(
|
||||
$expected,
|
||||
$actual,
|
||||
// we don't need a diff
|
||||
'',
|
||||
'',
|
||||
FALSE,
|
||||
sprintf(
|
||||
'%s does not match expected type "%s".',
|
||||
|
||||
PHPUnit_Util_Type::shortenedExport($actual),
|
||||
gettype($expected)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
156
database/php/pear/PHPUnit/Framework/ComparatorFactory.php
Normal file
156
database/php/pear/PHPUnit/Framework/ComparatorFactory.php
Normal file
@@ -0,0 +1,156 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Factory for comparators which compare values for equality.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_ComparatorFactory
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $comparators = array();
|
||||
|
||||
/**
|
||||
* @var PHPUnit_Framework_ComparatorFactory
|
||||
*/
|
||||
private static $defaultInstance = NULL;
|
||||
|
||||
/**
|
||||
* Constructs a new factory.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->register(new PHPUnit_Framework_Comparator_Type);
|
||||
$this->register(new PHPUnit_Framework_Comparator_Scalar);
|
||||
$this->register(new PHPUnit_Framework_Comparator_Numeric);
|
||||
$this->register(new PHPUnit_Framework_Comparator_Double);
|
||||
$this->register(new PHPUnit_Framework_Comparator_Array);
|
||||
$this->register(new PHPUnit_Framework_Comparator_Resource);
|
||||
$this->register(new PHPUnit_Framework_Comparator_Object);
|
||||
$this->register(new PHPUnit_Framework_Comparator_Exception);
|
||||
$this->register(new PHPUnit_Framework_Comparator_SplObjectStorage);
|
||||
$this->register(new PHPUnit_Framework_Comparator_DOMDocument);
|
||||
$this->register(new PHPUnit_Framework_Comparator_MockObject);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the default instance.
|
||||
*
|
||||
* @return PHPUnit_Framework_ComparatorFactory
|
||||
*/
|
||||
public static function getDefaultInstance()
|
||||
{
|
||||
if (self::$defaultInstance === NULL) {
|
||||
self::$defaultInstance = new PHPUnit_Framework_ComparatorFactory;
|
||||
}
|
||||
|
||||
return self::$defaultInstance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the correct comparator for comparing two values.
|
||||
*
|
||||
* @param mixed $expected The first value to compare
|
||||
* @param mixed $actual The second value to compare
|
||||
* @return PHPUnit_Framework_Comparator
|
||||
* @throws PHPUnit_Framework_Exception
|
||||
*/
|
||||
public function getComparatorFor($expected, $actual)
|
||||
{
|
||||
foreach ($this->comparators as $comparator) {
|
||||
if ($comparator->accepts($expected, $actual)) {
|
||||
return $comparator;
|
||||
}
|
||||
}
|
||||
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'No comparator is registered for comparing the types "%s" and "%s"',
|
||||
gettype($expected), gettype($actual)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a new comparator.
|
||||
*
|
||||
* This comparator will be returned by getInstance() if its accept() method
|
||||
* returns TRUE for the compared values. It has higher priority than the
|
||||
* existing comparators, meaning that its accept() method will be tested
|
||||
* before those of the other comparators.
|
||||
*
|
||||
* @param PHPUnit_Framework_Comparator $comparator The registered comparator
|
||||
*/
|
||||
public function register(PHPUnit_Framework_Comparator $comparator)
|
||||
{
|
||||
array_unshift($this->comparators, $comparator);
|
||||
$comparator->setFactory($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregisters a comparator.
|
||||
*
|
||||
* This comparator will no longer be returned by getInstance().
|
||||
*
|
||||
* @param PHPUnit_Framework_Comparator $comparator The unregistered comparator
|
||||
*/
|
||||
public function unregister(PHPUnit_Framework_Comparator $comparator)
|
||||
{
|
||||
foreach ($this->comparators as $key => $_comparator) {
|
||||
if ($comparator === $_comparator) {
|
||||
unset($this->comparators[$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
166
database/php/pear/PHPUnit/Framework/ComparisonFailure.php
Normal file
166
database/php/pear/PHPUnit/Framework/ComparisonFailure.php
Normal file
@@ -0,0 +1,166 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 2.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Thrown when an assertion for string equality failed.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 2.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_ComparisonFailure extends PHPUnit_Framework_AssertionFailedError
|
||||
{
|
||||
/**
|
||||
* Expected value of the retrieval which does not match $actual.
|
||||
* @var mixed
|
||||
*/
|
||||
protected $expected;
|
||||
|
||||
/**
|
||||
* Actually retrieved value which does not match $expected.
|
||||
* @var mixed
|
||||
*/
|
||||
protected $actual;
|
||||
|
||||
/**
|
||||
* The string representation of the expected value
|
||||
* @var string
|
||||
*/
|
||||
protected $expectedAsString;
|
||||
|
||||
/**
|
||||
* The string representation of the actual value
|
||||
* @var string
|
||||
*/
|
||||
protected $actualAsString;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
protected $identical;
|
||||
|
||||
/**
|
||||
* Optional message which is placed in front of the first line
|
||||
* returned by toString().
|
||||
* @var string
|
||||
*/
|
||||
protected $message;
|
||||
|
||||
/**
|
||||
* Initialises with the expected value and the actual value.
|
||||
*
|
||||
* @param mixed $expected Expected value retrieved.
|
||||
* @param mixed $actual Actual value retrieved.
|
||||
* @param string $expectedAsString
|
||||
* @param string $actualAsString
|
||||
* @param boolean $identical
|
||||
* @param string $message A string which is prefixed on all returned lines
|
||||
* in the difference output.
|
||||
*/
|
||||
public function __construct($expected, $actual, $expectedAsString, $actualAsString, $identical = FALSE, $message = '')
|
||||
{
|
||||
$this->expected = $expected;
|
||||
$this->actual = $actual;
|
||||
$this->expectedAsString = $expectedAsString;
|
||||
$this->actualAsString = $actualAsString;
|
||||
$this->message = $message;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getActual()
|
||||
{
|
||||
return $this->actual;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getExpected()
|
||||
{
|
||||
return $this->expected;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getActualAsString()
|
||||
{
|
||||
return $this->actualAsString;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getExpectedAsString()
|
||||
{
|
||||
return $this->expectedAsString;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getDiff()
|
||||
{
|
||||
return $this->actualAsString || $this->expectedAsString
|
||||
? PHPUnit_Util_Diff::diff($this->expectedAsString, $this->actualAsString)
|
||||
: '';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return $this->message . $this->getDiff();
|
||||
}
|
||||
}
|
||||
180
database/php/pear/PHPUnit/Framework/Constraint.php
Normal file
180
database/php/pear/PHPUnit/Framework/Constraint.php
Normal file
@@ -0,0 +1,180 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Abstract base class for constraints. which are placed upon any value.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Interface available since Release 3.0.0
|
||||
*/
|
||||
abstract class PHPUnit_Framework_Constraint implements Countable, PHPUnit_Framework_SelfDescribing
|
||||
{
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
$success = FALSE;
|
||||
|
||||
if ($this->matches($other)) {
|
||||
$success = TRUE;
|
||||
}
|
||||
|
||||
if ($returnResult) {
|
||||
return $success;
|
||||
}
|
||||
|
||||
if (!$success) {
|
||||
$this->fail($other, $description);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* This method can be overridden to implement the evaluation algorithm.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of constraint elements.
|
||||
*
|
||||
* @return integer
|
||||
* @since Method available since Release 3.4.0
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Throws an exception for the given compared value and test description
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @param string $description Additional information about the test
|
||||
* @param PHPUnit_Framework_ComparisonFailure $comparisonFailure
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
protected function fail($other, $description, PHPUnit_Framework_ComparisonFailure $comparisonFailure = NULL)
|
||||
{
|
||||
$failureDescription = sprintf(
|
||||
'Failed asserting that %s.',
|
||||
$this->failureDescription($other)
|
||||
);
|
||||
|
||||
$additionalFailureDescription = $this->additionalFailureDescription($other);
|
||||
if ($additionalFailureDescription) {
|
||||
$failureDescription .= "\n" . $additionalFailureDescription;
|
||||
}
|
||||
|
||||
if (!empty($description)) {
|
||||
$failureDescription = $description . "\n" . $failureDescription;
|
||||
}
|
||||
|
||||
throw new PHPUnit_Framework_ExpectationFailedException(
|
||||
$failureDescription,
|
||||
$comparisonFailure
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return additional failure description where needed
|
||||
*
|
||||
* The function can be overridden to provide additional failure
|
||||
* information like a diff
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function additionalFailureDescription($other)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* To provide additional failure information additionalFailureDescription
|
||||
* can be used.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return PHPUnit_Util_Type::export($other) . ' ' . $this->toString();
|
||||
}
|
||||
}
|
||||
164
database/php/pear/PHPUnit/Framework/Constraint/And.php
Normal file
164
database/php/pear/PHPUnit/Framework/Constraint/And.php
Normal file
@@ -0,0 +1,164 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Logical AND.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_And extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_Constraint[]
|
||||
*/
|
||||
protected $constraints = array();
|
||||
|
||||
/**
|
||||
* @var PHPUnit_Framework_Constraint
|
||||
*/
|
||||
protected $lastConstraint = NULL;
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_Constraint[] $constraints
|
||||
* @throws PHPUnit_Framework_Exception
|
||||
*/
|
||||
public function setConstraints(array $constraints)
|
||||
{
|
||||
$this->constraints = array();
|
||||
|
||||
foreach ($constraints as $key => $constraint) {
|
||||
if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'All parameters to ' . __CLASS__ .
|
||||
' must be a constraint object.'
|
||||
);
|
||||
}
|
||||
|
||||
$this->constraints[] = $constraint;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
$success = TRUE;
|
||||
$constraint = NULL;
|
||||
|
||||
foreach ($this->constraints as $constraint) {
|
||||
if (!$constraint->evaluate($other, $description, TRUE)) {
|
||||
$success = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($returnResult) {
|
||||
return $success;
|
||||
}
|
||||
|
||||
if (!$success) {
|
||||
$this->fail($other, $description);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
$text = '';
|
||||
|
||||
foreach ($this->constraints as $key => $constraint) {
|
||||
if ($key > 0) {
|
||||
$text .= ' and ';
|
||||
}
|
||||
|
||||
$text .= $constraint->toString();
|
||||
}
|
||||
|
||||
return $text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of constraint elements.
|
||||
*
|
||||
* @return integer
|
||||
* @since Method available since Release 3.4.0
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
$count = 0;
|
||||
|
||||
foreach ($this->constraints as $constraint) {
|
||||
$count += count($constraint);
|
||||
}
|
||||
|
||||
return $count;
|
||||
}
|
||||
}
|
||||
114
database/php/pear/PHPUnit/Framework/Constraint/ArrayHasKey.php
Normal file
114
database/php/pear/PHPUnit/Framework/Constraint/ArrayHasKey.php
Normal file
@@ -0,0 +1,114 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the array it is evaluated for has a given key.
|
||||
*
|
||||
* Uses array_key_exists() to check if the key is found in the input array, if
|
||||
* not found the evaluaton fails.
|
||||
*
|
||||
* The array key is passed in the constructor.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_ArrayHasKey extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var integer|string
|
||||
*/
|
||||
protected $key;
|
||||
|
||||
/**
|
||||
* @param integer|string $key
|
||||
*/
|
||||
public function __construct($key)
|
||||
{
|
||||
$this->key = $key;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return array_key_exists($this->key, $other);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'has the key ' . PHPUnit_Util_Type::export($this->key);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return 'an array ' . $this->toString();
|
||||
}
|
||||
}
|
||||
129
database/php/pear/PHPUnit/Framework/Constraint/Attribute.php
Normal file
129
database/php/pear/PHPUnit/Framework/Constraint/Attribute.php
Normal file
@@ -0,0 +1,129 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.1.0
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.1.0
|
||||
*/
|
||||
|
||||
class PHPUnit_Framework_Constraint_Attribute extends PHPUnit_Framework_Constraint_Composite
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $attributeName;
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_Constraint $constraint
|
||||
* @param string $attributeName
|
||||
*/
|
||||
public function __construct(PHPUnit_Framework_Constraint $constraint, $attributeName)
|
||||
{
|
||||
parent::__construct($constraint);
|
||||
|
||||
$this->attributeName = $attributeName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
return parent::evaluate(
|
||||
PHPUnit_Framework_Assert::readAttribute(
|
||||
$other, $this->attributeName
|
||||
),
|
||||
$description,
|
||||
$returnResult
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'attribute "' . $this->attributeName . '" ' .
|
||||
$this->innerConstraint->toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return $this->toString();
|
||||
}
|
||||
}
|
||||
116
database/php/pear/PHPUnit/Framework/Constraint/Callback.php
Normal file
116
database/php/pear/PHPUnit/Framework/Constraint/Callback.php
Normal file
@@ -0,0 +1,116 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2002-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2002-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that evaluates against a specified closure.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Timon Rapp <timon@zaeda.net>
|
||||
* @copyright 2002-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_Callback extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
private $callback;
|
||||
|
||||
/**
|
||||
* @param callable $callback
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public function __construct($callback)
|
||||
{
|
||||
if (!is_callable($callback)) {
|
||||
throw new InvalidArgumentException(
|
||||
sprintf(
|
||||
'Specified callback <%s> is not callable.',
|
||||
$this->callbackToString($callback)
|
||||
)
|
||||
);
|
||||
}
|
||||
$this->callback = $callback;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $value. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $value Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return call_user_func($this->callback, $other);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'is accepted by specified callback';
|
||||
}
|
||||
|
||||
private function callbackToString($callback)
|
||||
{
|
||||
if (!is_array($callback)) {
|
||||
return $callback;
|
||||
}
|
||||
if (empty($callback)) {
|
||||
return "empty array";
|
||||
}
|
||||
if (!isset($callback[0]) || !isset($callback[1])) {
|
||||
return "array without indexes 0 and 1 set";
|
||||
}
|
||||
if (is_object($callback[0])) {
|
||||
$callback[0] = get_class($callback[0]);
|
||||
}
|
||||
return $callback[0] . '::' . $callback[1];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,124 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.1.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the class it is evaluated for has a given
|
||||
* attribute.
|
||||
*
|
||||
* The attribute name is passed in the constructor.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.1.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_ClassHasAttribute extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $attributeName;
|
||||
|
||||
/**
|
||||
* @param string $attributeName
|
||||
*/
|
||||
public function __construct($attributeName)
|
||||
{
|
||||
$this->attributeName = $attributeName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
$class = new ReflectionClass($other);
|
||||
|
||||
return $class->hasProperty($this->attributeName);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return sprintf(
|
||||
'has attribute "%s"',
|
||||
|
||||
$this->attributeName
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return sprintf(
|
||||
'%sclass "%s" %s',
|
||||
|
||||
is_object($other) ? 'object of ' : '',
|
||||
is_object($other) ? get_class($other) : $other,
|
||||
$this->toString()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.1.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the class it is evaluated for has a given
|
||||
* static attribute.
|
||||
*
|
||||
* The attribute name is passed in the constructor.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.1.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_ClassHasStaticAttribute extends PHPUnit_Framework_Constraint_ClassHasAttribute
|
||||
{
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
$class = new ReflectionClass($other);
|
||||
|
||||
if ($class->hasProperty($this->attributeName)) {
|
||||
$attribute = $class->getProperty($this->attributeName);
|
||||
|
||||
return $attribute->isStatic();
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
* @since Method available since Release 3.3.0
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return sprintf(
|
||||
'has static attribute "%s"',
|
||||
|
||||
$this->attributeName
|
||||
);
|
||||
}
|
||||
}
|
||||
114
database/php/pear/PHPUnit/Framework/Constraint/Composite.php
Normal file
114
database/php/pear/PHPUnit/Framework/Constraint/Composite.php
Normal file
@@ -0,0 +1,114 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
|
||||
abstract class PHPUnit_Framework_Constraint_Composite extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_Constraint
|
||||
*/
|
||||
protected $innerConstraint;
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_Constraint $innerConstraint
|
||||
* @param string $attributeName
|
||||
*/
|
||||
public function __construct(PHPUnit_Framework_Constraint $innerConstraint)
|
||||
{
|
||||
$this->innerConstraint = $innerConstraint;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
try {
|
||||
return $this->innerConstraint->evaluate(
|
||||
$other,
|
||||
$description,
|
||||
$returnResult
|
||||
);
|
||||
}
|
||||
|
||||
catch (PHPUnit_Framework_ExpectationFailedException $e) {
|
||||
$this->fail($other, $description);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of constraint elements.
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return count($this->innerConstraint);
|
||||
}
|
||||
}
|
||||
128
database/php/pear/PHPUnit/Framework/Constraint/Count.php
Normal file
128
database/php/pear/PHPUnit/Framework/Constraint/Count.php
Normal file
@@ -0,0 +1,128 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_Count extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
protected $expectedCount = 0;
|
||||
|
||||
/**
|
||||
* @param integer $expected
|
||||
*/
|
||||
public function __construct($expected)
|
||||
{
|
||||
$this->expectedCount = $expected;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other
|
||||
* @return boolean
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return $this->expectedCount === $this->getCountOf($other);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $other
|
||||
* @return boolean
|
||||
*/
|
||||
protected function getCountOf($other)
|
||||
{
|
||||
if ($other instanceof Countable || is_array($other)) {
|
||||
return count($other);
|
||||
}
|
||||
|
||||
else if ($other instanceof Iterator) {
|
||||
return iterator_count($other);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return sprintf(
|
||||
'actual size %d matches expected size %d',
|
||||
|
||||
$this->getCountOf($other),
|
||||
$this->expectedCount
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'count matches ';
|
||||
}
|
||||
}
|
||||
129
database/php/pear/PHPUnit/Framework/Constraint/Exception.php
Normal file
129
database/php/pear/PHPUnit/Framework/Constraint/Exception.php
Normal file
@@ -0,0 +1,129 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.6
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.6
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_Exception extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $className;
|
||||
|
||||
/**
|
||||
* @param string $className
|
||||
*/
|
||||
public function __construct($className)
|
||||
{
|
||||
$this->className = $className;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return $other instanceof $this->className;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
if ($other !== NULL) {
|
||||
$message = '';
|
||||
if ($other instanceof Exception && $other->getMessage()) {
|
||||
$message = '. Message was: "' . $other->getMessage() . '"';
|
||||
}
|
||||
return sprintf(
|
||||
'exception of type "%s" matches expected exception "%s"%s',
|
||||
|
||||
get_class($other),
|
||||
$this->className,
|
||||
$message
|
||||
);
|
||||
}
|
||||
|
||||
return sprintf(
|
||||
'exception of type "%s" is thrown',
|
||||
|
||||
$this->className
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return sprintf(
|
||||
'exception of type "%s"',
|
||||
|
||||
$this->className
|
||||
);
|
||||
}
|
||||
}
|
||||
109
database/php/pear/PHPUnit/Framework/Constraint/ExceptionCode.php
Normal file
109
database/php/pear/PHPUnit/Framework/Constraint/ExceptionCode.php
Normal file
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.6
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.6
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_ExceptionCode extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
protected $expectedCode;
|
||||
|
||||
/**
|
||||
* @param integer $expected
|
||||
*/
|
||||
public function __construct($expected)
|
||||
{
|
||||
$this->expectedCode = $expected;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param Exception $other
|
||||
* @return boolean
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return (string)$other->getCode() == (string)$this->expectedCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return sprintf(
|
||||
'%s is equal to expected exception code %s',
|
||||
PHPUnit_Util_Type::export($other->getCode()),
|
||||
PHPUnit_Util_Type::export($this->expectedCode)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'exception code is ';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.6
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.6
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_ExceptionMessage extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
protected $expectedMessage;
|
||||
|
||||
/**
|
||||
* @param string $expected
|
||||
*/
|
||||
public function __construct($expected)
|
||||
{
|
||||
$this->expectedMessage = $expected;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param Exception $other
|
||||
* @return boolean
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return strpos($other->getMessage(), $this->expectedMessage) !== FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return sprintf(
|
||||
"exception message '%s' contains '%s'",
|
||||
$other->getMessage(),
|
||||
$this->expectedMessage
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'exception message contains ';
|
||||
}
|
||||
}
|
||||
102
database/php/pear/PHPUnit/Framework/Constraint/FileExists.php
Normal file
102
database/php/pear/PHPUnit/Framework/Constraint/FileExists.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that checks if the file(name) that it is evaluated for exists.
|
||||
*
|
||||
* The file path to check is passed as $other in evaluate().
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_FileExists extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return file_exists($other);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return sprintf(
|
||||
'file "%s" exists',
|
||||
|
||||
$other
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'file exists';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the value it is evaluated for is greater
|
||||
* than a given value.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_GreaterThan extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var numeric
|
||||
*/
|
||||
protected $value;
|
||||
|
||||
/**
|
||||
* @param numeric $value
|
||||
*/
|
||||
public function __construct($value)
|
||||
{
|
||||
$this->value = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return $this->value < $other;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'is greater than ' . PHPUnit_Util_Type::export($this->value);
|
||||
}
|
||||
}
|
||||
102
database/php/pear/PHPUnit/Framework/Constraint/IsAnything.php
Normal file
102
database/php/pear/PHPUnit/Framework/Constraint/IsAnything.php
Normal file
@@ -0,0 +1,102 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that accepts any input value.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_IsAnything extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
return $returnResult ? TRUE : NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'is anything';
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of constraint elements.
|
||||
*
|
||||
* @return integer
|
||||
* @since Method available since Release 3.5.0
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
104
database/php/pear/PHPUnit/Framework/Constraint/IsEmpty.php
Normal file
104
database/php/pear/PHPUnit/Framework/Constraint/IsEmpty.php
Normal file
@@ -0,0 +1,104 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.5.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that checks whether a variable is empty().
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.5.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_IsEmpty extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return empty($other);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'is empty';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
$type = gettype($other);
|
||||
|
||||
return sprintf(
|
||||
'%s %s %s',
|
||||
|
||||
$type[0] == 'a' || $type[0] == 'o' ? 'an' : 'a',
|
||||
$type,
|
||||
$this->toString()
|
||||
);
|
||||
}
|
||||
}
|
||||
215
database/php/pear/PHPUnit/Framework/Constraint/IsEqual.php
Normal file
215
database/php/pear/PHPUnit/Framework/Constraint/IsEqual.php
Normal file
@@ -0,0 +1,215 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Kore Nordmann <kn@ez.no>
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that checks if one value is equal to another.
|
||||
*
|
||||
* Equality is checked with PHP's == operator, the operator is explained in
|
||||
* detail at {@url http://www.php.net/manual/en/types.comparisons.php}.
|
||||
* Two values are equal if they have the same value disregarding type.
|
||||
*
|
||||
* The expected value is passed in the constructor.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Kore Nordmann <kn@ez.no>
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_IsEqual extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var mixed
|
||||
*/
|
||||
protected $value;
|
||||
|
||||
/**
|
||||
* @var float
|
||||
*/
|
||||
protected $delta = 0;
|
||||
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
protected $maxDepth = 10;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
protected $canonicalize = FALSE;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
protected $ignoreCase = FALSE;
|
||||
|
||||
/**
|
||||
* @var PHPUnit_Framework_ComparisonFailure
|
||||
*/
|
||||
protected $lastFailure;
|
||||
|
||||
/**
|
||||
* @param mixed $value
|
||||
* @param float $delta
|
||||
* @param integer $maxDepth
|
||||
* @param boolean $canonicalize
|
||||
* @param boolean $ignoreCase
|
||||
*/
|
||||
public function __construct($value, $delta = 0, $maxDepth = 10, $canonicalize = FALSE, $ignoreCase = FALSE)
|
||||
{
|
||||
if (!is_numeric($delta)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'numeric');
|
||||
}
|
||||
|
||||
if (!is_int($maxDepth)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'integer');
|
||||
}
|
||||
|
||||
if (!is_bool($canonicalize)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(4, 'boolean');
|
||||
}
|
||||
|
||||
if (!is_bool($ignoreCase)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(5, 'boolean');
|
||||
}
|
||||
|
||||
$this->value = $value;
|
||||
$this->delta = $delta;
|
||||
$this->maxDepth = $maxDepth;
|
||||
$this->canonicalize = $canonicalize;
|
||||
$this->ignoreCase = $ignoreCase;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
$comparatorFactory = PHPUnit_Framework_ComparatorFactory::getDefaultInstance();
|
||||
|
||||
try {
|
||||
$comparator = $comparatorFactory->getComparatorFor(
|
||||
$other, $this->value
|
||||
);
|
||||
|
||||
$comparator->assertEquals(
|
||||
$this->value,
|
||||
$other,
|
||||
$this->delta,
|
||||
$this->canonicalize,
|
||||
$this->ignoreCase
|
||||
);
|
||||
}
|
||||
|
||||
catch (PHPUnit_Framework_ComparisonFailure $f) {
|
||||
if ($returnResult) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
throw new PHPUnit_Framework_ExpectationFailedException(
|
||||
trim($description . "\n" . $f->getMessage()),
|
||||
$f
|
||||
);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
$delta = '';
|
||||
|
||||
if (is_string($this->value)) {
|
||||
if (strpos($this->value, "\n") !== FALSE) {
|
||||
return 'is equal to <text>';
|
||||
} else {
|
||||
return sprintf(
|
||||
'is equal to <string:%s>',
|
||||
|
||||
$this->value
|
||||
);
|
||||
}
|
||||
} else {
|
||||
if ($this->delta != 0) {
|
||||
$delta = sprintf(
|
||||
' with delta <%F>',
|
||||
|
||||
$this->delta
|
||||
);
|
||||
}
|
||||
|
||||
return sprintf(
|
||||
'is equal to %s%s',
|
||||
|
||||
PHPUnit_Util_Type::export($this->value),
|
||||
$delta
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
82
database/php/pear/PHPUnit/Framework/Constraint/IsFalse.php
Normal file
82
database/php/pear/PHPUnit/Framework/Constraint/IsFalse.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that accepts FALSE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.3.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_IsFalse extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return $other === FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'is false';
|
||||
}
|
||||
}
|
||||
173
database/php/pear/PHPUnit/Framework/Constraint/IsIdentical.php
Normal file
173
database/php/pear/PHPUnit/Framework/Constraint/IsIdentical.php
Normal file
@@ -0,0 +1,173 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that one value is identical to another.
|
||||
*
|
||||
* Identical check is performed with PHP's === operator, the operator is
|
||||
* explained in detail at
|
||||
* {@url http://www.php.net/manual/en/types.comparisons.php}.
|
||||
* Two values are identical if they have the same value and are of the same
|
||||
* type.
|
||||
*
|
||||
* The expected value is passed in the constructor.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_IsIdentical extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var double
|
||||
*/
|
||||
const EPSILON = 0.0000000001;
|
||||
|
||||
/**
|
||||
* @var mixed
|
||||
*/
|
||||
protected $value;
|
||||
|
||||
/**
|
||||
* @param mixed $value
|
||||
*/
|
||||
public function __construct($value)
|
||||
{
|
||||
$this->value = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
if (is_double($this->value) && is_double($other) &&
|
||||
!is_infinite($this->value) && !is_infinite($other) &&
|
||||
!is_nan($this->value) && !is_nan($other)) {
|
||||
$success = abs($this->value - $other) < self::EPSILON;
|
||||
}
|
||||
|
||||
else {
|
||||
$success = $this->value === $other;
|
||||
}
|
||||
|
||||
if ($returnResult) {
|
||||
return $success;
|
||||
}
|
||||
|
||||
if (!$success) {
|
||||
$f = NULL;
|
||||
|
||||
// if both values are strings, make sure a diff is generated
|
||||
if (is_string($this->value) && is_string($other)) {
|
||||
$f = new PHPUnit_Framework_ComparisonFailure(
|
||||
$this->value,
|
||||
$other,
|
||||
$this->value,
|
||||
$other
|
||||
);
|
||||
}
|
||||
|
||||
$this->fail($other, $description, $f);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
if (is_object($this->value) && is_object($other)) {
|
||||
return 'two variables reference the same object';
|
||||
}
|
||||
|
||||
if (is_string($this->value) && is_string($other)) {
|
||||
return 'two strings are identical';
|
||||
}
|
||||
|
||||
return parent::failureDescription($other);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
if (is_object($this->value)) {
|
||||
return 'is identical to an object of class "' .
|
||||
get_class($this->value) . '"';
|
||||
} else {
|
||||
return 'is identical to ' .
|
||||
PHPUnit_Util_Type::export($this->value);
|
||||
}
|
||||
}
|
||||
}
|
||||
121
database/php/pear/PHPUnit/Framework/Constraint/IsInstanceOf.php
Normal file
121
database/php/pear/PHPUnit/Framework/Constraint/IsInstanceOf.php
Normal file
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the object it is evaluated for is an instance
|
||||
* of a given class.
|
||||
*
|
||||
* The expected class name is passed in the constructor.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_IsInstanceOf extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $className;
|
||||
|
||||
/**
|
||||
* @param string $className
|
||||
*/
|
||||
public function __construct($className)
|
||||
{
|
||||
$this->className = $className;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return ($other instanceof $this->className);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return sprintf(
|
||||
'%s is an instance of class "%s"',
|
||||
|
||||
PHPUnit_Util_Type::shortenedExport($other),
|
||||
$this->className
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return sprintf(
|
||||
'is instance of class "%s"',
|
||||
|
||||
$this->className
|
||||
);
|
||||
}
|
||||
}
|
||||
109
database/php/pear/PHPUnit/Framework/Constraint/IsJson.php
Normal file
109
database/php/pear/PHPUnit/Framework/Constraint/IsJson.php
Normal file
@@ -0,0 +1,109 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.7.20
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that a string is valid JSON.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.7.20
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_IsJson extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
json_decode($other);
|
||||
if (json_last_error()) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
json_decode($other);
|
||||
$error = PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider::determineJsonError(
|
||||
json_last_error()
|
||||
);
|
||||
|
||||
return sprintf(
|
||||
'%s is valid JSON (%s)',
|
||||
|
||||
PHPUnit_Util_Type::shortenedExport($other),
|
||||
$error
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'is valid JSON';
|
||||
}
|
||||
}
|
||||
82
database/php/pear/PHPUnit/Framework/Constraint/IsNull.php
Normal file
82
database/php/pear/PHPUnit/Framework/Constraint/IsNull.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that accepts NULL.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.3.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_IsNull extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return $other === NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'is null';
|
||||
}
|
||||
}
|
||||
82
database/php/pear/PHPUnit/Framework/Constraint/IsTrue.php
Normal file
82
database/php/pear/PHPUnit/Framework/Constraint/IsTrue.php
Normal file
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that accepts TRUE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.3.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_IsTrue extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return $other === TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'is true';
|
||||
}
|
||||
}
|
||||
190
database/php/pear/PHPUnit/Framework/Constraint/IsType.php
Normal file
190
database/php/pear/PHPUnit/Framework/Constraint/IsType.php
Normal file
@@ -0,0 +1,190 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the value it is evaluated for is of a
|
||||
* specified type.
|
||||
*
|
||||
* The expected value is passed in the constructor.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_IsType extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
const TYPE_ARRAY = 'array';
|
||||
const TYPE_BOOL = 'bool';
|
||||
const TYPE_FLOAT = 'float';
|
||||
const TYPE_INT = 'int';
|
||||
const TYPE_NULL = 'null';
|
||||
const TYPE_NUMERIC = 'numeric';
|
||||
const TYPE_OBJECT = 'object';
|
||||
const TYPE_RESOURCE = 'resource';
|
||||
const TYPE_STRING = 'string';
|
||||
const TYPE_SCALAR = 'scalar';
|
||||
const TYPE_CALLABLE = 'callable';
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $types = array(
|
||||
'array' => TRUE,
|
||||
'boolean' => TRUE,
|
||||
'bool' => TRUE,
|
||||
'float' => TRUE,
|
||||
'integer' => TRUE,
|
||||
'int' => TRUE,
|
||||
'null' => TRUE,
|
||||
'numeric' => TRUE,
|
||||
'object' => TRUE,
|
||||
'resource' => TRUE,
|
||||
'string' => TRUE,
|
||||
'scalar' => TRUE,
|
||||
'callable' => TRUE
|
||||
);
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $type;
|
||||
|
||||
/**
|
||||
* @param string $type
|
||||
* @throws PHPUnit_Framework_Exception
|
||||
*/
|
||||
public function __construct($type)
|
||||
{
|
||||
if (!isset($this->types[$type])) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'Type specified for PHPUnit_Framework_Constraint_IsType <%s> ' .
|
||||
'is not a valid type.',
|
||||
$type
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$this->type = $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
switch ($this->type) {
|
||||
case 'numeric': {
|
||||
return is_numeric($other);
|
||||
}
|
||||
|
||||
case 'integer':
|
||||
case 'int': {
|
||||
return is_integer($other);
|
||||
}
|
||||
|
||||
case 'float': {
|
||||
return is_float($other);
|
||||
}
|
||||
|
||||
case 'string': {
|
||||
return is_string($other);
|
||||
}
|
||||
|
||||
case 'boolean':
|
||||
case 'bool': {
|
||||
return is_bool($other);
|
||||
}
|
||||
|
||||
case 'null': {
|
||||
return is_null($other);
|
||||
}
|
||||
|
||||
case 'array': {
|
||||
return is_array($other);
|
||||
}
|
||||
|
||||
case 'object': {
|
||||
return is_object($other);
|
||||
}
|
||||
|
||||
case 'resource': {
|
||||
return is_resource($other);
|
||||
}
|
||||
|
||||
case 'scalar': {
|
||||
return is_scalar($other);
|
||||
}
|
||||
|
||||
case 'callable': {
|
||||
return is_callable($other);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return sprintf(
|
||||
'is of type "%s"',
|
||||
|
||||
$this->type
|
||||
);
|
||||
}
|
||||
}
|
||||
110
database/php/pear/PHPUnit/Framework/Constraint/JsonMatches.php
Normal file
110
database/php/pear/PHPUnit/Framework/Constraint/JsonMatches.php
Normal file
@@ -0,0 +1,110 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2002-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Bastian Feder <php@bastian-feder.de>
|
||||
* @copyright 2002-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.7.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Asserts whether or not two JSON objects are equal.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Bastian Feder <php@bastian-feder.de>
|
||||
* @copyright 2011 Bastian Feder <php@bastian-feder.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.7.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_JsonMatches extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $value;
|
||||
|
||||
/**
|
||||
* Creates a new constraint.
|
||||
*
|
||||
* @param string $value
|
||||
*/
|
||||
public function __construct($value)
|
||||
{
|
||||
$this->value = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* This method can be overridden to implement the evaluation algorithm.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
$decodedOther = json_decode($other);
|
||||
if (json_last_error()) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
$decodedValue = json_decode($this->value);
|
||||
if (json_last_error()) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return $decodedOther == $decodedValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the object.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return sprintf(
|
||||
'matches JSON string "%s"',
|
||||
$this->value
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2002-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Bastian Feder <php@bastian-feder.de>
|
||||
* @copyright 2002-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.7.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Provides human readable messages for each JSON error.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Bastian Feder <php@bastian-feder.de>
|
||||
* @copyright 2011 Bastian Feder <php@bastian-feder.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.7.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider
|
||||
{
|
||||
/**
|
||||
* Translates JSON error to a human readable string.
|
||||
*
|
||||
* @param string $error
|
||||
* @return string
|
||||
*/
|
||||
public static function determineJsonError($error, $prefix = '')
|
||||
{
|
||||
switch ($error) {
|
||||
case JSON_ERROR_NONE:
|
||||
return;
|
||||
case JSON_ERROR_DEPTH:
|
||||
return $prefix . 'Maximum stack depth exceeded';
|
||||
case JSON_ERROR_STATE_MISMATCH:
|
||||
return $prefix . 'Underflow or the modes mismatch';
|
||||
case JSON_ERROR_CTRL_CHAR:
|
||||
return $prefix . 'Unexpected control character found';
|
||||
case JSON_ERROR_SYNTAX:
|
||||
return $prefix . 'Syntax error, malformed JSON';
|
||||
case JSON_ERROR_UTF8:
|
||||
return $prefix . 'Malformed UTF-8 characters, possibly incorrectly encoded';
|
||||
default:
|
||||
return $prefix . 'Unknown error';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Translates a given type to a human readable message prefix.
|
||||
*
|
||||
* @param string $type
|
||||
* @return string
|
||||
*/
|
||||
public static function translateTypeToPrefix($type)
|
||||
{
|
||||
switch (strtolower($type)) {
|
||||
case 'expected':
|
||||
$prefix = 'Expected value JSON decode error - ';
|
||||
break;
|
||||
case 'actual':
|
||||
$prefix = 'Actual value JSON decode error - ';
|
||||
break;
|
||||
default:
|
||||
$prefix = '';
|
||||
break;
|
||||
}
|
||||
return $prefix;
|
||||
}
|
||||
}
|
||||
96
database/php/pear/PHPUnit/Framework/Constraint/LessThan.php
Normal file
96
database/php/pear/PHPUnit/Framework/Constraint/LessThan.php
Normal file
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the value it is evaluated for is less than
|
||||
* a given value.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_LessThan extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var numeric
|
||||
*/
|
||||
protected $value;
|
||||
|
||||
/**
|
||||
* @param numeric $value
|
||||
*/
|
||||
public function __construct($value)
|
||||
{
|
||||
$this->value = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return $this->value > $other;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'is less than ' . PHPUnit_Util_Type::export($this->value);
|
||||
}
|
||||
}
|
||||
203
database/php/pear/PHPUnit/Framework/Constraint/Not.php
Normal file
203
database/php/pear/PHPUnit/Framework/Constraint/Not.php
Normal file
@@ -0,0 +1,203 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Logical NOT.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
|
||||
class PHPUnit_Framework_Constraint_Not extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_Constraint
|
||||
*/
|
||||
protected $constraint;
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_Constraint $constraint
|
||||
*/
|
||||
public function __construct($constraint)
|
||||
{
|
||||
if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
|
||||
$constraint = new PHPUnit_Framework_Constraint_IsEqual($constraint);
|
||||
}
|
||||
|
||||
$this->constraint = $constraint;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $string
|
||||
* @return string
|
||||
*/
|
||||
public static function negate($string)
|
||||
{
|
||||
return str_replace(
|
||||
array(
|
||||
'contains ',
|
||||
'exists',
|
||||
'has ',
|
||||
'is ',
|
||||
'are ',
|
||||
'matches ',
|
||||
'starts with ',
|
||||
'ends with ',
|
||||
'reference ',
|
||||
'not not '
|
||||
),
|
||||
array(
|
||||
'does not contain ',
|
||||
'does not exist',
|
||||
'does not have ',
|
||||
'is not ',
|
||||
'are not ',
|
||||
'does not match ',
|
||||
'starts not with ',
|
||||
'ends not with ',
|
||||
'don\'t reference ',
|
||||
'not '
|
||||
),
|
||||
$string
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
$success = !$this->constraint->evaluate($other, $description, TRUE);
|
||||
|
||||
if ($returnResult) {
|
||||
return $success;
|
||||
}
|
||||
|
||||
if (!$success) {
|
||||
$this->fail($other, $description);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
switch (get_class($this->constraint)) {
|
||||
case 'PHPUnit_Framework_Constraint_And':
|
||||
case 'PHPUnit_Framework_Constraint_Not':
|
||||
case 'PHPUnit_Framework_Constraint_Or': {
|
||||
return 'not( ' . $this->constraint->failureDescription($other) . ' )';
|
||||
}
|
||||
break;
|
||||
|
||||
default: {
|
||||
return self::negate(
|
||||
$this->constraint->failureDescription($other)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
switch (get_class($this->constraint)) {
|
||||
case 'PHPUnit_Framework_Constraint_And':
|
||||
case 'PHPUnit_Framework_Constraint_Not':
|
||||
case 'PHPUnit_Framework_Constraint_Or': {
|
||||
return 'not( ' . $this->constraint->toString() . ' )';
|
||||
}
|
||||
break;
|
||||
|
||||
default: {
|
||||
return self::negate(
|
||||
$this->constraint->toString()
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of constraint elements.
|
||||
*
|
||||
* @return integer
|
||||
* @since Method available since Release 3.4.0
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return count($this->constraint);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the object it is evaluated for has a given
|
||||
* attribute.
|
||||
*
|
||||
* The attribute name is passed in the constructor.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_ObjectHasAttribute extends PHPUnit_Framework_Constraint_ClassHasAttribute
|
||||
{
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
$object = new ReflectionObject($other);
|
||||
|
||||
return $object->hasProperty($this->attributeName);
|
||||
}
|
||||
}
|
||||
157
database/php/pear/PHPUnit/Framework/Constraint/Or.php
Normal file
157
database/php/pear/PHPUnit/Framework/Constraint/Or.php
Normal file
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Logical OR.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_Or extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_Constraint[]
|
||||
*/
|
||||
protected $constraints = array();
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_Constraint[] $constraints
|
||||
*/
|
||||
public function setConstraints(array $constraints)
|
||||
{
|
||||
$this->constraints = array();
|
||||
|
||||
foreach ($constraints as $key => $constraint) {
|
||||
if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
|
||||
$constraint = new PHPUnit_Framework_Constraint_IsEqual(
|
||||
$constraint
|
||||
);
|
||||
}
|
||||
|
||||
$this->constraints[] = $constraint;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
$success = FALSE;
|
||||
$constraint = NULL;
|
||||
|
||||
foreach ($this->constraints as $constraint) {
|
||||
if ($constraint->evaluate($other, $description, TRUE)) {
|
||||
$success = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($returnResult) {
|
||||
return $success;
|
||||
}
|
||||
|
||||
if (!$success) {
|
||||
$this->fail($other, $description);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
$text = '';
|
||||
|
||||
foreach ($this->constraints as $key => $constraint) {
|
||||
if ($key > 0) {
|
||||
$text .= ' or ';
|
||||
}
|
||||
|
||||
$text .= $constraint->toString();
|
||||
}
|
||||
|
||||
return $text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of constraint elements.
|
||||
*
|
||||
* @return integer
|
||||
* @since Method available since Release 3.4.0
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
$count = 0;
|
||||
|
||||
foreach ($this->constraints as $constraint) {
|
||||
$count += count($constraint);
|
||||
}
|
||||
|
||||
return $count;
|
||||
}
|
||||
}
|
||||
105
database/php/pear/PHPUnit/Framework/Constraint/PCREMatch.php
Normal file
105
database/php/pear/PHPUnit/Framework/Constraint/PCREMatch.php
Normal file
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the string it is evaluated for matches
|
||||
* a regular expression.
|
||||
*
|
||||
* Checks a given value using the Perl Compatible Regular Expression extension
|
||||
* in PHP. The pattern is matched by executing preg_match().
|
||||
*
|
||||
* The pattern string passed in the constructor.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_PCREMatch extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $pattern;
|
||||
|
||||
/**
|
||||
* @param string $pattern
|
||||
*/
|
||||
public function __construct($pattern)
|
||||
{
|
||||
$this->pattern = $pattern;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return preg_match($this->pattern, $other) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return sprintf(
|
||||
'matches PCRE pattern "%s"',
|
||||
|
||||
$this->pattern
|
||||
);
|
||||
}
|
||||
}
|
||||
73
database/php/pear/PHPUnit/Framework/Constraint/SameSize.php
Normal file
73
database/php/pear/PHPUnit/Framework/Constraint/SameSize.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.6.0
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.6.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_SameSize extends PHPUnit_Framework_Constraint_Count
|
||||
{
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
protected $expectedCount;
|
||||
|
||||
/**
|
||||
* @param integer $expected
|
||||
*/
|
||||
public function __construct($expected)
|
||||
{
|
||||
parent::__construct($this->getCountOf($expected));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the string it is evaluated for contains
|
||||
* a given string.
|
||||
*
|
||||
* Uses strpos() to find the position of the string in the input, if not found
|
||||
* the evaluaton fails.
|
||||
*
|
||||
* The sub-string is passed in the constructor.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_StringContains extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $string;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
protected $ignoreCase;
|
||||
|
||||
/**
|
||||
* @param string $string
|
||||
* @param boolean $ignoreCase
|
||||
*/
|
||||
public function __construct($string, $ignoreCase = FALSE)
|
||||
{
|
||||
$this->string = $string;
|
||||
$this->ignoreCase = $ignoreCase;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
if ($this->ignoreCase) {
|
||||
return stripos($other, $this->string) !== FALSE;
|
||||
} else {
|
||||
return strpos($other, $this->string) !== FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
if ($this->ignoreCase) {
|
||||
$string = strtolower($this->string);
|
||||
} else {
|
||||
$string = $this->string;
|
||||
}
|
||||
|
||||
return sprintf(
|
||||
'contains "%s"',
|
||||
|
||||
$string
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.4.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the string it is evaluated for ends with a given
|
||||
* suffix.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.4.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_StringEndsWith extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $suffix;
|
||||
|
||||
/**
|
||||
* @param string $suffix
|
||||
*/
|
||||
public function __construct($suffix)
|
||||
{
|
||||
$this->suffix = $suffix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return substr($other, 0 - strlen($this->suffix)) == $this->suffix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'ends with "' . $this->suffix . '"';
|
||||
}
|
||||
}
|
||||
134
database/php/pear/PHPUnit/Framework/Constraint/StringMatches.php
Normal file
134
database/php/pear/PHPUnit/Framework/Constraint/StringMatches.php
Normal file
@@ -0,0 +1,134 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.5.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* ...
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.5.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_StringMatches extends PHPUnit_Framework_Constraint_PCREMatch
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $string;
|
||||
|
||||
/**
|
||||
* @param string $string
|
||||
*/
|
||||
public function __construct($string)
|
||||
{
|
||||
$this->pattern = $this->createPatternFromFormat(
|
||||
preg_replace('/\r\n/', "\n", $string)
|
||||
);
|
||||
$this->string = $string;
|
||||
}
|
||||
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return "format description matches text";
|
||||
}
|
||||
|
||||
protected function additionalFailureDescription($other)
|
||||
{
|
||||
$from = preg_split('(\r\n|\r|\n)', $this->string);
|
||||
$to = preg_split('(\r\n|\r|\n)', $other);
|
||||
foreach ($from as $index => $line) {
|
||||
if (isset($to[$index]) && $line !== $to[$index]) {
|
||||
$line = $this->createPatternFromFormat($line);
|
||||
if (preg_match($line, $to[$index]) > 0) {
|
||||
$from[$index] = $to[$index];
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->string = join("\n", $from);
|
||||
$other = join("\n", $to);
|
||||
return PHPUnit_Util_Diff::diff($this->string, $other);
|
||||
}
|
||||
|
||||
protected function createPatternFromFormat($string)
|
||||
{
|
||||
$string = str_replace(
|
||||
array(
|
||||
'%e',
|
||||
'%s',
|
||||
'%S',
|
||||
'%a',
|
||||
'%A',
|
||||
'%w',
|
||||
'%i',
|
||||
'%d',
|
||||
'%x',
|
||||
'%f',
|
||||
'%c'
|
||||
),
|
||||
array(
|
||||
'\\' . DIRECTORY_SEPARATOR,
|
||||
'[^\r\n]+',
|
||||
'[^\r\n]*',
|
||||
'.+',
|
||||
'.*',
|
||||
'\s*',
|
||||
'[+-]?\d+',
|
||||
'\d+',
|
||||
'[0-9a-fA-F]+',
|
||||
'[+-]?\.?\d+\.?\d*(?:[Ee][+-]?\d+)?',
|
||||
'.'
|
||||
),
|
||||
preg_quote($string, '/')
|
||||
);
|
||||
return '/^' . $string . '$/s';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.4.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the string it is evaluated for begins with a
|
||||
* given prefix.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.4.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_StringStartsWith extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $prefix;
|
||||
|
||||
/**
|
||||
* @param string $prefix
|
||||
*/
|
||||
public function __construct($prefix)
|
||||
{
|
||||
$this->prefix = $prefix;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
return strpos($other, $this->prefix) === 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'starts with "' . $this->prefix . '"';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,152 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the Traversable it is applied to contains
|
||||
* a given value.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_TraversableContains extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
protected $checkForObjectIdentity;
|
||||
|
||||
/**
|
||||
* @var mixed
|
||||
*/
|
||||
protected $value;
|
||||
|
||||
/**
|
||||
* @param boolean $value
|
||||
* @param mixed $checkForObjectIdentity
|
||||
* @throws PHPUnit_Framework_Exception
|
||||
*/
|
||||
public function __construct($value, $checkForObjectIdentity = TRUE)
|
||||
{
|
||||
if (!is_bool($checkForObjectIdentity)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'boolean');
|
||||
}
|
||||
|
||||
$this->checkForObjectIdentity = $checkForObjectIdentity;
|
||||
$this->value = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other. Returns TRUE if the
|
||||
* constraint is met, FALSE otherwise.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @return bool
|
||||
*/
|
||||
protected function matches($other)
|
||||
{
|
||||
if ($other instanceof SplObjectStorage) {
|
||||
return $other->contains($this->value);
|
||||
}
|
||||
|
||||
if (is_object($this->value)) {
|
||||
foreach ($other as $element) {
|
||||
if (($this->checkForObjectIdentity &&
|
||||
$element === $this->value) ||
|
||||
(!$this->checkForObjectIdentity &&
|
||||
$element == $this->value)) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach ($other as $element) {
|
||||
if ($element == $this->value) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
if (is_string($this->value) && strpos($this->value, "\n") !== FALSE) {
|
||||
return 'contains "' . $this->value . '"';
|
||||
} else {
|
||||
return 'contains ' . PHPUnit_Util_Type::export($this->value);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the description of the failure
|
||||
*
|
||||
* The beginning of failure messages is "Failed asserting that" in most
|
||||
* cases. This method should return the second part of that sentence.
|
||||
*
|
||||
* @param mixed $other Evaluated value or object.
|
||||
* @return string
|
||||
*/
|
||||
protected function failureDescription($other)
|
||||
{
|
||||
return sprintf(
|
||||
'an %s %s',
|
||||
|
||||
is_array($other) ? 'array' : 'iterator',
|
||||
$this->toString()
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.1.4
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constraint that asserts that the Traversable it is applied to contains
|
||||
* only values of a given type.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.1.4
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_TraversableContainsOnly extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_Constraint
|
||||
*/
|
||||
protected $constraint;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $type;
|
||||
|
||||
/**
|
||||
* @param string $type
|
||||
* @param boolean $isNativeType
|
||||
*/
|
||||
public function __construct($type, $isNativeType = TRUE)
|
||||
{
|
||||
if ($isNativeType) {
|
||||
$this->constraint = new PHPUnit_Framework_Constraint_IsType($type);
|
||||
} else {
|
||||
$this->constraint = new PHPUnit_Framework_Constraint_IsInstanceOf(
|
||||
$type
|
||||
);
|
||||
}
|
||||
|
||||
$this->type = $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
$success = TRUE;
|
||||
$constraint = NULL;
|
||||
|
||||
foreach ($other as $item) {
|
||||
if (!$this->constraint->evaluate($item, '', TRUE)) {
|
||||
$success = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($returnResult) {
|
||||
return $success;
|
||||
}
|
||||
|
||||
if (!$success) {
|
||||
$this->fail($other, $description);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'contains only values of type "' . $this->type . '"';
|
||||
}
|
||||
}
|
||||
162
database/php/pear/PHPUnit/Framework/Constraint/Xor.php
Normal file
162
database/php/pear/PHPUnit/Framework/Constraint/Xor.php
Normal file
@@ -0,0 +1,162 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Logical XOR.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Constraint
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @author Bernhard Schussek <bschussek@2bepublished.at>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_Constraint_Xor extends PHPUnit_Framework_Constraint
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_Constraint[]
|
||||
*/
|
||||
protected $constraints = array();
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_Constraint[] $constraints
|
||||
*/
|
||||
public function setConstraints(array $constraints)
|
||||
{
|
||||
$this->constraints = array();
|
||||
|
||||
foreach ($constraints as $key => $constraint) {
|
||||
if (!($constraint instanceof PHPUnit_Framework_Constraint)) {
|
||||
$constraint = new PHPUnit_Framework_Constraint_IsEqual(
|
||||
$constraint
|
||||
);
|
||||
}
|
||||
|
||||
$this->constraints[] = $constraint;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Evaluates the constraint for parameter $other
|
||||
*
|
||||
* If $returnResult is set to FALSE (the default), an exception is thrown
|
||||
* in case of a failure. NULL is returned otherwise.
|
||||
*
|
||||
* If $returnResult is TRUE, the result of the evaluation is returned as
|
||||
* a boolean value instead: TRUE in case of success, FALSE in case of a
|
||||
* failure.
|
||||
*
|
||||
* @param mixed $other Value or object to evaluate.
|
||||
* @param string $description Additional information about the test
|
||||
* @param bool $returnResult Whether to return a result or throw an exception
|
||||
* @return mixed
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function evaluate($other, $description = '', $returnResult = FALSE)
|
||||
{
|
||||
$success = TRUE;
|
||||
$lastResult = NULL;
|
||||
$constraint = NULL;
|
||||
|
||||
foreach ($this->constraints as $constraint) {
|
||||
$result = $constraint->evaluate($other, $description, TRUE);
|
||||
|
||||
if ($result === $lastResult) {
|
||||
$success = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
$lastResult = $result;
|
||||
}
|
||||
|
||||
if ($returnResult) {
|
||||
return $success;
|
||||
}
|
||||
|
||||
if (!$success) {
|
||||
$this->fail($other, $description);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a string representation of the constraint.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
$text = '';
|
||||
|
||||
foreach ($this->constraints as $key => $constraint) {
|
||||
if ($key > 0) {
|
||||
$text .= ' xor ';
|
||||
}
|
||||
|
||||
$text .= $constraint->toString();
|
||||
}
|
||||
|
||||
return $text;
|
||||
}
|
||||
|
||||
/**
|
||||
* Counts the number of constraint elements.
|
||||
*
|
||||
* @return integer
|
||||
* @since Method available since Release 3.4.0
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
$count = 0;
|
||||
|
||||
foreach ($this->constraints as $constraint) {
|
||||
$count += count($constraint);
|
||||
}
|
||||
|
||||
return $count;
|
||||
}
|
||||
}
|
||||
75
database/php/pear/PHPUnit/Framework/Error.php
Normal file
75
database/php/pear/PHPUnit/Framework/Error.php
Normal file
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 2.2.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Wrapper for PHP errors.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 2.2.0
|
||||
*/
|
||||
class PHPUnit_Framework_Error extends Exception
|
||||
{
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param string $message
|
||||
* @param integer $code
|
||||
* @param string $file
|
||||
* @param integer $line
|
||||
* @param Exception $previous
|
||||
*/
|
||||
public function __construct($message, $code, $file, $line, Exception $previous = NULL)
|
||||
{
|
||||
parent::__construct($message, $code, $previous);
|
||||
|
||||
$this->file = $file;
|
||||
$this->line = $line;
|
||||
}
|
||||
}
|
||||
65
database/php/pear/PHPUnit/Framework/Error/Deprecated.php
Normal file
65
database/php/pear/PHPUnit/Framework/Error/Deprecated.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Error
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Wrapper for PHP deprecated errors.
|
||||
* You can disable deprecated-to-exception conversion by setting
|
||||
*
|
||||
* <code>
|
||||
* PHPUnit_Framework_Error_Deprecated::$enabled = FALSE;
|
||||
* </code>
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Error
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.3.0
|
||||
*/
|
||||
class PHPUnit_Framework_Error_Deprecated extends PHPUnit_Framework_Error
|
||||
{
|
||||
public static $enabled = TRUE;
|
||||
}
|
||||
65
database/php/pear/PHPUnit/Framework/Error/Notice.php
Normal file
65
database/php/pear/PHPUnit/Framework/Error/Notice.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Error
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Wrapper for PHP notices.
|
||||
* You can disable notice-to-exception conversion by setting
|
||||
*
|
||||
* <code>
|
||||
* PHPUnit_Framework_Error_Notice::$enabled = FALSE;
|
||||
* </code>
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Error
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.3.0
|
||||
*/
|
||||
class PHPUnit_Framework_Error_Notice extends PHPUnit_Framework_Error
|
||||
{
|
||||
public static $enabled = TRUE;
|
||||
}
|
||||
65
database/php/pear/PHPUnit/Framework/Error/Warning.php
Normal file
65
database/php/pear/PHPUnit/Framework/Error/Warning.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Error
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Wrapper for PHP warnings.
|
||||
* You can disable notice-to-exception conversion by setting
|
||||
*
|
||||
* <code>
|
||||
* PHPUnit_Framework_Error_Warning::$enabled = FALSE;
|
||||
* </code>
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework_Error
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.3.0
|
||||
*/
|
||||
class PHPUnit_Framework_Error_Warning extends PHPUnit_Framework_Error
|
||||
{
|
||||
public static $enabled = TRUE;
|
||||
}
|
||||
59
database/php/pear/PHPUnit/Framework/Exception.php
Normal file
59
database/php/pear/PHPUnit/Framework/Exception.php
Normal file
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.4.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Exception for PHPUnit runtime errors.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.4.0
|
||||
*/
|
||||
class PHPUnit_Framework_Exception extends RuntimeException
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 3.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Exception for expectations which failed their check.
|
||||
*
|
||||
* The exception contains the error message and optionally a
|
||||
* PHPUnit_Framework_ComparisonFailure which is used to
|
||||
* generate diff output of the failed expectations.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 3.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_ExpectationFailedException extends PHPUnit_Framework_AssertionFailedError
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_ComparisonFailure
|
||||
*/
|
||||
protected $comparisonFailure;
|
||||
|
||||
public function __construct($message, PHPUnit_Framework_ComparisonFailure $comparisonFailure = NULL, Exception $previous = NULL)
|
||||
{
|
||||
$this->comparisonFailure = $comparisonFailure;
|
||||
|
||||
parent::__construct($message, 0, $previous);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return PHPUnit_Framework_ComparisonFailure
|
||||
*/
|
||||
public function getComparisonFailure()
|
||||
{
|
||||
return $this->comparisonFailure;
|
||||
}
|
||||
}
|
||||
60
database/php/pear/PHPUnit/Framework/IncompleteTest.php
Normal file
60
database/php/pear/PHPUnit/Framework/IncompleteTest.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 2.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* A marker interface for marking any exception/error as result of an unit
|
||||
* test as incomplete implementation or currently not implemented.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Interface available since Release 2.0.0
|
||||
*/
|
||||
interface PHPUnit_Framework_IncompleteTest
|
||||
{
|
||||
}
|
||||
60
database/php/pear/PHPUnit/Framework/IncompleteTestError.php
Normal file
60
database/php/pear/PHPUnit/Framework/IncompleteTestError.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2001-2013, Sebastian Bergmann <sebastian@phpunit.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since File available since Release 2.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Extension to PHPUnit_Framework_AssertionFailedError to mark the special
|
||||
* case of an incomplete test.
|
||||
*
|
||||
* @package PHPUnit
|
||||
* @subpackage Framework
|
||||
* @author Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @copyright 2001-2013 Sebastian Bergmann <sebastian@phpunit.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://www.phpunit.de/
|
||||
* @since Class available since Release 2.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_IncompleteTestError extends PHPUnit_Framework_AssertionFailedError implements PHPUnit_Framework_IncompleteTest
|
||||
{
|
||||
}
|
||||
100
database/php/pear/PHPUnit/Framework/MockObject/Autoload.php
Normal file
100
database/php/pear/PHPUnit/Framework/MockObject/Autoload.php
Normal file
@@ -0,0 +1,100 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2002-2011, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2002-2011 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.1.0
|
||||
*/
|
||||
|
||||
spl_autoload_register(
|
||||
function ($class)
|
||||
{
|
||||
static $classes = NULL;
|
||||
static $path = NULL;
|
||||
|
||||
if ($classes === NULL) {
|
||||
$classes = array(
|
||||
'phpunit_framework_mockobject_builder_identity' => '/Framework/MockObject/Builder/Identity.php',
|
||||
'phpunit_framework_mockobject_builder_invocationmocker' => '/Framework/MockObject/Builder/InvocationMocker.php',
|
||||
'phpunit_framework_mockobject_builder_match' => '/Framework/MockObject/Builder/Match.php',
|
||||
'phpunit_framework_mockobject_builder_methodnamematch' => '/Framework/MockObject/Builder/MethodNameMatch.php',
|
||||
'phpunit_framework_mockobject_builder_namespace' => '/Framework/MockObject/Builder/Namespace.php',
|
||||
'phpunit_framework_mockobject_builder_parametersmatch' => '/Framework/MockObject/Builder/ParametersMatch.php',
|
||||
'phpunit_framework_mockobject_builder_stub' => '/Framework/MockObject/Builder/Stub.php',
|
||||
'phpunit_framework_mockobject_generator' => '/Framework/MockObject/Generator.php',
|
||||
'phpunit_framework_mockobject_invocation' => '/Framework/MockObject/Invocation.php',
|
||||
'phpunit_framework_mockobject_invocation_object' => '/Framework/MockObject/Invocation/Object.php',
|
||||
'phpunit_framework_mockobject_invocation_static' => '/Framework/MockObject/Invocation/Static.php',
|
||||
'phpunit_framework_mockobject_invocationmocker' => '/Framework/MockObject/InvocationMocker.php',
|
||||
'phpunit_framework_mockobject_invokable' => '/Framework/MockObject/Invokable.php',
|
||||
'phpunit_framework_mockobject_matcher' => '/Framework/MockObject/Matcher.php',
|
||||
'phpunit_framework_mockobject_matcher_anyinvokedcount' => '/Framework/MockObject/Matcher/AnyInvokedCount.php',
|
||||
'phpunit_framework_mockobject_matcher_anyparameters' => '/Framework/MockObject/Matcher/AnyParameters.php',
|
||||
'phpunit_framework_mockobject_matcher_invocation' => '/Framework/MockObject/Matcher/Invocation.php',
|
||||
'phpunit_framework_mockobject_matcher_invokedatindex' => '/Framework/MockObject/Matcher/InvokedAtIndex.php',
|
||||
'phpunit_framework_mockobject_matcher_invokedatleastonce' => '/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
|
||||
'phpunit_framework_mockobject_matcher_invokedcount' => '/Framework/MockObject/Matcher/InvokedCount.php',
|
||||
'phpunit_framework_mockobject_matcher_invokedrecorder' => '/Framework/MockObject/Matcher/InvokedRecorder.php',
|
||||
'phpunit_framework_mockobject_matcher_methodname' => '/Framework/MockObject/Matcher/MethodName.php',
|
||||
'phpunit_framework_mockobject_matcher_parameters' => '/Framework/MockObject/Matcher/Parameters.php',
|
||||
'phpunit_framework_mockobject_matcher_statelessinvocation' => '/Framework/MockObject/Matcher/StatelessInvocation.php',
|
||||
'phpunit_framework_mockobject_mockbuilder' => '/Framework/MockObject/MockBuilder.php',
|
||||
'phpunit_framework_mockobject_mockobject' => '/Framework/MockObject/MockObject.php',
|
||||
'phpunit_framework_mockobject_stub' => '/Framework/MockObject/Stub.php',
|
||||
'phpunit_framework_mockobject_stub_consecutivecalls' => '/Framework/MockObject/Stub/ConsecutiveCalls.php',
|
||||
'phpunit_framework_mockobject_stub_exception' => '/Framework/MockObject/Stub/Exception.php',
|
||||
'phpunit_framework_mockobject_stub_matchercollection' => '/Framework/MockObject/Stub/MatcherCollection.php',
|
||||
'phpunit_framework_mockobject_stub_return' => '/Framework/MockObject/Stub/Return.php',
|
||||
'phpunit_framework_mockobject_stub_returnargument' => '/Framework/MockObject/Stub/ReturnArgument.php',
|
||||
'phpunit_framework_mockobject_stub_returncallback' => '/Framework/MockObject/Stub/ReturnCallback.php',
|
||||
'phpunit_framework_mockobject_stub_returnself' => '/Framework/MockObject/Stub/ReturnSelf.php',
|
||||
'phpunit_framework_mockobject_stub_returnvaluemap' => '/Framework/MockObject/Stub/ReturnValueMap.php',
|
||||
'phpunit_framework_mockobject_verifiable' => '/Framework/MockObject/Verifiable.php'
|
||||
);
|
||||
|
||||
$path = dirname(dirname(dirname(__FILE__)));
|
||||
}
|
||||
|
||||
$cn = strtolower($class);
|
||||
|
||||
if (isset($classes[$cn])) {
|
||||
require $path . $classes[$cn];
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Builder interface for unique identifiers.
|
||||
*
|
||||
* Defines the interface for recording unique identifiers. The identifiers
|
||||
* can be used to define the invocation order of expectations. The expectation
|
||||
* is recorded using id() and then defined in order using
|
||||
* PHPUnit_Framework_MockObject_Builder_Match::after().
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Interface available since Release 1.0.0
|
||||
*/
|
||||
interface PHPUnit_Framework_MockObject_Builder_Identity
|
||||
{
|
||||
/**
|
||||
* Sets the identification of the expectation to $id.
|
||||
*
|
||||
* @note The identifier is unique per mock object.
|
||||
* @param string $id Unique identifiation of expectation.
|
||||
*/
|
||||
public function id($id);
|
||||
}
|
||||
@@ -0,0 +1,193 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Builder for mocked or stubbed invocations.
|
||||
*
|
||||
* Provides methods for building expectations without having to resort to
|
||||
* instantiating the various matchers manually. These methods also form a
|
||||
* more natural way of reading the expectation. This class should be together
|
||||
* with the test case PHPUnit_Framework_MockObject_TestCase.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Class available since Release 1.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_MockObject_Builder_InvocationMocker implements PHPUnit_Framework_MockObject_Builder_MethodNameMatch
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_MockObject_Stub_MatcherCollection
|
||||
*/
|
||||
protected $collection;
|
||||
|
||||
/**
|
||||
* @var PHPUnit_Framework_MockObject_Matcher
|
||||
*/
|
||||
protected $matcher;
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Stub_MatcherCollection $collection
|
||||
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher
|
||||
*/
|
||||
public function __construct(PHPUnit_Framework_MockObject_Stub_MatcherCollection $collection, PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher)
|
||||
{
|
||||
$this->collection = $collection;
|
||||
$this->matcher = new PHPUnit_Framework_MockObject_Matcher(
|
||||
$invocationMatcher
|
||||
);
|
||||
|
||||
$this->collection->addMatcher($this->matcher);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return PHPUnit_Framework_MockObject_Matcher
|
||||
*/
|
||||
public function getMatcher()
|
||||
{
|
||||
return $this->matcher;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $id
|
||||
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
|
||||
*/
|
||||
public function id($id)
|
||||
{
|
||||
$this->collection->registerId($id, $this);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Stub $stub
|
||||
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
|
||||
*/
|
||||
public function will(PHPUnit_Framework_MockObject_Stub $stub)
|
||||
{
|
||||
$this->matcher->stub = $stub;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $id
|
||||
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
|
||||
*/
|
||||
public function after($id)
|
||||
{
|
||||
$this->matcher->afterMatchBuilderId = $id;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $argument, ...
|
||||
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
|
||||
*/
|
||||
public function with()
|
||||
{
|
||||
$args = func_get_args();
|
||||
|
||||
if ($this->matcher->methodNameMatcher === NULL) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'Method name matcher is not defined, cannot define parameter ' .
|
||||
' matcher without one'
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->matcher->parametersMatcher !== NULL) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'Parameter matcher is already defined, cannot redefine'
|
||||
);
|
||||
}
|
||||
|
||||
$this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_Parameters($args);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
|
||||
*/
|
||||
public function withAnyParameters()
|
||||
{
|
||||
if ($this->matcher->methodNameMatcher === NULL) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'Method name matcher is not defined, cannot define parameter ' .
|
||||
'matcher without one'
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->matcher->parametersMatcher !== NULL) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'Parameter matcher is already defined, cannot redefine'
|
||||
);
|
||||
}
|
||||
|
||||
$this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_AnyParameters;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_Constraint|string $constraint
|
||||
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
|
||||
*/
|
||||
public function method($constraint)
|
||||
{
|
||||
if ($this->matcher->methodNameMatcher !== NULL) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'Method name matcher is already defined, cannot redefine'
|
||||
);
|
||||
}
|
||||
|
||||
$this->matcher->methodNameMatcher = new PHPUnit_Framework_MockObject_Matcher_MethodName($constraint);
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Builder interface for invocation order matches.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Interface available since Release 1.0.0
|
||||
*/
|
||||
interface PHPUnit_Framework_MockObject_Builder_Match extends PHPUnit_Framework_MockObject_Builder_Stub
|
||||
{
|
||||
/**
|
||||
* Defines the expectation which must occur before the current is valid.
|
||||
*
|
||||
* @param string $id The identification of the expectation that should
|
||||
* occur before this one.
|
||||
* @return PHPUnit_Framework_MockObject_Builder_Stub
|
||||
*/
|
||||
public function after($id);
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Builder interface for matcher of method names.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Interface available since Release 1.0.0
|
||||
*/
|
||||
interface PHPUnit_Framework_MockObject_Builder_MethodNameMatch extends PHPUnit_Framework_MockObject_Builder_ParametersMatch
|
||||
{
|
||||
/**
|
||||
* Adds a new method name match and returns the parameter match object for
|
||||
* further matching possibilities.
|
||||
*
|
||||
* @param PHPUnit_Framework_Constraint $name
|
||||
* Constraint for matching method, if a string is passed it will use
|
||||
* the PHPUnit_Framework_Constraint_IsEqual.
|
||||
* @return PHPUnit_Framework_MockObject_Builder_ParametersMatch
|
||||
*/
|
||||
public function method($name);
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Interface for builders which can register builders with a given identification.
|
||||
*
|
||||
* This interface relates to PHPUnit_Framework_MockObject_Builder_Identity.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Interface available since Release 1.0.0
|
||||
*/
|
||||
interface PHPUnit_Framework_MockObject_Builder_Namespace
|
||||
{
|
||||
/**
|
||||
* Looks up the match builder with identification $id and returns it.
|
||||
*
|
||||
* @param string $id The identifiction of the match builder.
|
||||
* @return PHPUnit_Framework_MockObject_Builder_Match
|
||||
*/
|
||||
public function lookupId($id);
|
||||
|
||||
/**
|
||||
* Registers the match builder $builder with the identification $id. The
|
||||
* builder can later be looked up using lookupId() to figure out if it
|
||||
* has been invoked.
|
||||
*
|
||||
* @param string $id
|
||||
* The identification of the match builder.
|
||||
* @param PHPUnit_Framework_MockObject_Builder_Match $builder
|
||||
* The builder which is being registered.
|
||||
*/
|
||||
public function registerId($id, PHPUnit_Framework_MockObject_Builder_Match $builder);
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Builder interface for parameter matchers.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Interface available since Release 1.0.0
|
||||
*/
|
||||
interface PHPUnit_Framework_MockObject_Builder_ParametersMatch extends PHPUnit_Framework_MockObject_Builder_Match
|
||||
{
|
||||
/**
|
||||
* Sets the parameters to match for, each parameter to this funtion will
|
||||
* be part of match. To perform specific matches or constraints create a
|
||||
* new PHPUnit_Framework_Constraint and use it for the parameter.
|
||||
* If the parameter value is not a constraint it will use the
|
||||
* PHPUnit_Framework_Constraint_IsEqual for the value.
|
||||
*
|
||||
* Some examples:
|
||||
* <code>
|
||||
* // match first parameter with value 2
|
||||
* $b->with(2);
|
||||
* // match first parameter with value 'smock' and second identical to 42
|
||||
* $b->with('smock', new PHPUnit_Framework_Constraint_IsEqual(42));
|
||||
* </code>
|
||||
*
|
||||
* @return PHPUnit_Framework_MockObject_Builder_ParametersMatch
|
||||
*/
|
||||
public function with();
|
||||
|
||||
/**
|
||||
* Sets a matcher which allows any kind of parameters.
|
||||
*
|
||||
* Some examples:
|
||||
* <code>
|
||||
* // match any number of parameters
|
||||
* $b->withAnyParamers();
|
||||
* </code>
|
||||
*
|
||||
* @return PHPUnit_Framework_MockObject_Matcher_AnyParameters
|
||||
*/
|
||||
public function withAnyParameters();
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Builder interface for stubs which are actions replacing an invocation.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Interface available since Release 1.0.0
|
||||
*/
|
||||
interface PHPUnit_Framework_MockObject_Builder_Stub extends PHPUnit_Framework_MockObject_Builder_Identity
|
||||
{
|
||||
/**
|
||||
* Stubs the matching method with the stub object $stub. Any invocations of
|
||||
* the matched method will now be handled by the stub instead.
|
||||
*
|
||||
* @param PHPUnit_Framework_MockObject_Stub $stub The stub object.
|
||||
* @return PHPUnit_Framework_MockObject_Builder_Identity
|
||||
*/
|
||||
public function will(PHPUnit_Framework_MockObject_Stub $stub);
|
||||
}
|
||||
808
database/php/pear/PHPUnit/Framework/MockObject/Generator.php
Normal file
808
database/php/pear/PHPUnit/Framework/MockObject/Generator.php
Normal file
@@ -0,0 +1,808 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Mock Object Code Generator
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Class available since Release 1.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_MockObject_Generator
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected static $cache = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected static $blacklistedMethodNames = array(
|
||||
'__clone' => TRUE,
|
||||
'abstract' => TRUE,
|
||||
'and' => TRUE,
|
||||
'array' => TRUE,
|
||||
'as' => TRUE,
|
||||
'break' => TRUE,
|
||||
'case' => TRUE,
|
||||
'catch' => TRUE,
|
||||
'class' => TRUE,
|
||||
'clone' => TRUE,
|
||||
'const' => TRUE,
|
||||
'continue' => TRUE,
|
||||
'declare' => TRUE,
|
||||
'default' => TRUE,
|
||||
'die' => TRUE,
|
||||
'do' => TRUE,
|
||||
'echo' => TRUE,
|
||||
'else' => TRUE,
|
||||
'elseif' => TRUE,
|
||||
'empty' => TRUE,
|
||||
'enddeclare' => TRUE,
|
||||
'endfor' => TRUE,
|
||||
'endforeach' => TRUE,
|
||||
'endif' => TRUE,
|
||||
'endswitch' => TRUE,
|
||||
'endwhile' => TRUE,
|
||||
'eval' => TRUE,
|
||||
'exit' => TRUE,
|
||||
'expects' => TRUE,
|
||||
'extends' => TRUE,
|
||||
'final' => TRUE,
|
||||
'for' => TRUE,
|
||||
'foreach' => TRUE,
|
||||
'function' => TRUE,
|
||||
'global' => TRUE,
|
||||
'goto' => TRUE,
|
||||
'if' => TRUE,
|
||||
'implements' => TRUE,
|
||||
'include' => TRUE,
|
||||
'include_once' => TRUE,
|
||||
'instanceof' => TRUE,
|
||||
'interface' => TRUE,
|
||||
'isset' => TRUE,
|
||||
'list' => TRUE,
|
||||
'namespace' => TRUE,
|
||||
'new' => TRUE,
|
||||
'or' => TRUE,
|
||||
'print' => TRUE,
|
||||
'private' => TRUE,
|
||||
'protected' => TRUE,
|
||||
'public' => TRUE,
|
||||
'require' => TRUE,
|
||||
'require_once' => TRUE,
|
||||
'return' => TRUE,
|
||||
'static' => TRUE,
|
||||
'staticExpects' => TRUE,
|
||||
'switch' => TRUE,
|
||||
'throw' => TRUE,
|
||||
'try' => TRUE,
|
||||
'unset' => TRUE,
|
||||
'use' => TRUE,
|
||||
'var' => TRUE,
|
||||
'while' => TRUE,
|
||||
'xor' => TRUE
|
||||
);
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
protected static $soapLoaded = NULL;
|
||||
|
||||
/**
|
||||
* Returns a mock object for the specified class.
|
||||
*
|
||||
* @param string $originalClassName
|
||||
* @param array $methods
|
||||
* @param array $arguments
|
||||
* @param string $mockClassName
|
||||
* @param boolean $callOriginalConstructor
|
||||
* @param boolean $callOriginalClone
|
||||
* @param boolean $callAutoload
|
||||
* @param boolean $cloneArguments
|
||||
* @return object
|
||||
* @throws InvalidArgumentException
|
||||
* @since Method available since Release 1.0.0
|
||||
*/
|
||||
public static function getMock($originalClassName, $methods = array(), array $arguments = array(), $mockClassName = '', $callOriginalConstructor = TRUE, $callOriginalClone = TRUE, $callAutoload = TRUE, $cloneArguments = TRUE)
|
||||
{
|
||||
if (!is_string($originalClassName)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
|
||||
}
|
||||
|
||||
if (!is_string($mockClassName)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(4, 'string');
|
||||
}
|
||||
|
||||
if (!is_array($methods) && !is_null($methods)) {
|
||||
throw new InvalidArgumentException;
|
||||
}
|
||||
|
||||
if (NULL !== $methods) {
|
||||
foreach ($methods as $method) {
|
||||
if (!preg_match('~[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*~', $method)) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'Cannot stub or mock method with invalid name "%s"',
|
||||
$method
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
if ($methods != array_unique($methods)) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'Cannot stub or mock using a method list that contains duplicates: "%s"',
|
||||
implode(', ', $methods)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if ($mockClassName != '' && class_exists($mockClassName, FALSE)) {
|
||||
$reflect = new ReflectionClass($mockClassName);
|
||||
if (!$reflect->implementsInterface("PHPUnit_Framework_MockObject_MockObject")) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'Class "%s" already exists.',
|
||||
$mockClassName
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$mock = self::generate(
|
||||
$originalClassName,
|
||||
$methods,
|
||||
$mockClassName,
|
||||
$callOriginalClone,
|
||||
$callAutoload,
|
||||
$cloneArguments
|
||||
);
|
||||
|
||||
return self::getObject(
|
||||
$mock['code'],
|
||||
$mock['mockClassName'],
|
||||
$originalClassName,
|
||||
$callOriginalConstructor,
|
||||
$callAutoload,
|
||||
$arguments
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $code
|
||||
* @param string $className
|
||||
* @param string $originalClassName
|
||||
* @param string $callOriginalConstructor
|
||||
* @param string $callAutoload
|
||||
* @param array $arguments
|
||||
* @return object
|
||||
*/
|
||||
protected static function getObject($code, $className, $originalClassName = '', $callOriginalConstructor = FALSE, $callAutoload = FALSE, array $arguments = array())
|
||||
{
|
||||
if (!class_exists($className, FALSE)) {
|
||||
eval($code);
|
||||
}
|
||||
|
||||
if ($callOriginalConstructor &&
|
||||
!interface_exists($originalClassName, $callAutoload)) {
|
||||
if (count($arguments) == 0) {
|
||||
$object = new $className;
|
||||
} else {
|
||||
$class = new ReflectionClass($className);
|
||||
$object = $class->newInstanceArgs($arguments);
|
||||
}
|
||||
} else {
|
||||
// Use a trick to create a new object of a class
|
||||
// without invoking its constructor.
|
||||
$object = unserialize(
|
||||
sprintf('O:%d:"%s":0:{}', strlen($className), $className)
|
||||
);
|
||||
}
|
||||
|
||||
return $object;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a mock object for the specified abstract class with all abstract
|
||||
* methods of the class mocked. Concrete methods to mock can be specified with
|
||||
* the last parameter
|
||||
*
|
||||
* @param string $originalClassName
|
||||
* @param array $arguments
|
||||
* @param string $mockClassName
|
||||
* @param boolean $callOriginalConstructor
|
||||
* @param boolean $callOriginalClone
|
||||
* @param boolean $callAutoload
|
||||
* @param array $mockedMethods
|
||||
* @param boolean $cloneArguments
|
||||
* @return object
|
||||
* @since Method available since Release 1.0.0
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public static function getMockForAbstractClass($originalClassName, array $arguments = array(), $mockClassName = '', $callOriginalConstructor = TRUE, $callOriginalClone = TRUE, $callAutoload = TRUE, $mockedMethods = array(), $cloneArguments = TRUE)
|
||||
{
|
||||
if (!is_string($originalClassName)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
|
||||
}
|
||||
|
||||
if (!is_string($mockClassName)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'string');
|
||||
}
|
||||
|
||||
if (class_exists($originalClassName, $callAutoload) ||
|
||||
interface_exists($originalClassName, $callAutoload)) {
|
||||
$methods = array();
|
||||
$reflector = new ReflectionClass($originalClassName);
|
||||
|
||||
foreach ($reflector->getMethods() as $method) {
|
||||
if ($method->isAbstract() || in_array($method->getName(), $mockedMethods)) {
|
||||
$methods[] = $method->getName();
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($methods)) {
|
||||
$methods = NULL;
|
||||
}
|
||||
|
||||
return self::getMock(
|
||||
$originalClassName,
|
||||
$methods,
|
||||
$arguments,
|
||||
$mockClassName,
|
||||
$callOriginalConstructor,
|
||||
$callOriginalClone,
|
||||
$callAutoload,
|
||||
$cloneArguments
|
||||
);
|
||||
} else {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'Class "%s" does not exist.',
|
||||
$originalClassName
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an object for the specified trait.
|
||||
*
|
||||
* @param string $traitName
|
||||
* @param array $arguments
|
||||
* @param string $traitClassName
|
||||
* @param boolean $callOriginalConstructor
|
||||
* @param boolean $callOriginalClone
|
||||
* @param boolean $callAutoload
|
||||
* @return object
|
||||
* @since Method available since Release 1.1.0
|
||||
* @throws InvalidArgumentException
|
||||
*/
|
||||
public static function getObjectForTrait($traitName, array $arguments = array(), $traitClassName = '', $callOriginalConstructor = TRUE, $callOriginalClone = TRUE, $callAutoload = TRUE)
|
||||
{
|
||||
if (!is_string($traitName)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
|
||||
}
|
||||
|
||||
if (!is_string($traitClassName)) {
|
||||
throw PHPUnit_Util_InvalidArgumentHelper::factory(3, 'string');
|
||||
}
|
||||
|
||||
if (!trait_exists($traitName, $callAutoload)) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'Trait "%s" does not exist.',
|
||||
$traitName
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$className = self::generateClassName(
|
||||
$traitName, $traitClassName, 'Trait_'
|
||||
);
|
||||
|
||||
$templateDir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Generator' .
|
||||
DIRECTORY_SEPARATOR;
|
||||
$classTemplate = new Text_Template(
|
||||
$templateDir . 'trait_class.tpl'
|
||||
);
|
||||
|
||||
$classTemplate->setVar(
|
||||
array(
|
||||
'class_name' => $className['className'],
|
||||
'trait_name' => $traitName
|
||||
)
|
||||
);
|
||||
|
||||
return self::getObject(
|
||||
$classTemplate->render(),
|
||||
$className['className']
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $originalClassName
|
||||
* @param array $methods
|
||||
* @param string $mockClassName
|
||||
* @param boolean $callOriginalClone
|
||||
* @param boolean $callAutoload
|
||||
* @param boolean $cloneArguments
|
||||
* @return array
|
||||
*/
|
||||
public static function generate($originalClassName, array $methods = NULL, $mockClassName = '', $callOriginalClone = TRUE, $callAutoload = TRUE, $cloneArguments = TRUE)
|
||||
{
|
||||
if ($mockClassName == '') {
|
||||
$key = md5(
|
||||
$originalClassName .
|
||||
serialize($methods) .
|
||||
serialize($callOriginalClone) .
|
||||
serialize($cloneArguments)
|
||||
);
|
||||
|
||||
if (isset(self::$cache[$key])) {
|
||||
return self::$cache[$key];
|
||||
}
|
||||
}
|
||||
|
||||
$mock = self::generateMock(
|
||||
$originalClassName,
|
||||
$methods,
|
||||
$mockClassName,
|
||||
$callOriginalClone,
|
||||
$callAutoload,
|
||||
$cloneArguments
|
||||
);
|
||||
|
||||
if (isset($key)) {
|
||||
self::$cache[$key] = $mock;
|
||||
}
|
||||
|
||||
return $mock;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $wsdlFile
|
||||
* @param string $originalClassName
|
||||
* @param array $methods
|
||||
* @param array $options
|
||||
* @return array
|
||||
*/
|
||||
public static function generateClassFromWsdl($wsdlFile, $originalClassName, array $methods = array(), array $options = array())
|
||||
{
|
||||
if (self::$soapLoaded === NULL) {
|
||||
self::$soapLoaded = extension_loaded('soap');
|
||||
}
|
||||
|
||||
if (self::$soapLoaded) {
|
||||
$client = new SOAPClient($wsdlFile, $options);
|
||||
$_methods = array_unique($client->__getFunctions());
|
||||
unset($client);
|
||||
|
||||
$templateDir = dirname(__FILE__) . DIRECTORY_SEPARATOR .
|
||||
'Generator' . DIRECTORY_SEPARATOR;
|
||||
$methodTemplate = new Text_Template(
|
||||
$templateDir . 'wsdl_method.tpl'
|
||||
);
|
||||
$methodsBuffer = '';
|
||||
|
||||
foreach ($_methods as $method) {
|
||||
$nameStart = strpos($method, ' ') + 1;
|
||||
$nameEnd = strpos($method, '(');
|
||||
$name = substr($method, $nameStart, $nameEnd - $nameStart);
|
||||
|
||||
if (empty($methods) || in_array($name, $methods)) {
|
||||
$args = explode(
|
||||
',',
|
||||
substr(
|
||||
$method,
|
||||
$nameEnd + 1,
|
||||
strpos($method, ')') - $nameEnd - 1
|
||||
)
|
||||
);
|
||||
$numArgs = count($args);
|
||||
|
||||
for ($i = 0; $i < $numArgs; $i++) {
|
||||
$args[$i] = substr($args[$i], strpos($args[$i], '$'));
|
||||
}
|
||||
|
||||
$methodTemplate->setVar(
|
||||
array(
|
||||
'method_name' => $name,
|
||||
'arguments' => join(', ', $args)
|
||||
)
|
||||
);
|
||||
|
||||
$methodsBuffer .= $methodTemplate->render();
|
||||
}
|
||||
}
|
||||
|
||||
$optionsBuffer = 'array(';
|
||||
foreach ($options as $key => $value) {
|
||||
$optionsBuffer .= $key . ' => ' . $value;
|
||||
}
|
||||
|
||||
$optionsBuffer .= ')';
|
||||
|
||||
$classTemplate = new Text_Template(
|
||||
$templateDir . 'wsdl_class.tpl'
|
||||
);
|
||||
|
||||
$namespace = '';
|
||||
if(strpos($originalClassName, '\\') !== FALSE) {
|
||||
$parts = explode('\\', $originalClassName);
|
||||
$originalClassName = array_pop($parts);
|
||||
$namespace = 'namespace ' . join('\\', $parts) . ';';
|
||||
}
|
||||
|
||||
$classTemplate->setVar(
|
||||
array(
|
||||
'namespace' => $namespace,
|
||||
'class_name' => $originalClassName,
|
||||
'wsdl' => $wsdlFile,
|
||||
'options' => $optionsBuffer,
|
||||
'methods' => $methodsBuffer
|
||||
)
|
||||
);
|
||||
|
||||
return $classTemplate->render();
|
||||
} else {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'The SOAP extension is required to generate a mock object ' .
|
||||
'from WSDL.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $originalClassName
|
||||
* @param array|null $methods
|
||||
* @param string $mockClassName
|
||||
* @param boolean $callOriginalClone
|
||||
* @param boolean $callAutoload
|
||||
* @param boolean $cloneArguments
|
||||
* @return array
|
||||
*/
|
||||
protected static function generateMock($originalClassName, $methods, $mockClassName, $callOriginalClone, $callAutoload, $cloneArguments = TRUE)
|
||||
{
|
||||
$templateDir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'Generator' .
|
||||
DIRECTORY_SEPARATOR;
|
||||
$classTemplate = new Text_Template(
|
||||
$templateDir . 'mocked_class.tpl'
|
||||
);
|
||||
$cloneTemplate = '';
|
||||
$isClass = FALSE;
|
||||
$isInterface = FALSE;
|
||||
|
||||
$mockClassName = self::generateClassName(
|
||||
$originalClassName, $mockClassName, 'Mock_'
|
||||
);
|
||||
|
||||
if (class_exists($mockClassName['fullClassName'], $callAutoload)) {
|
||||
$isClass = TRUE;
|
||||
} else {
|
||||
if (interface_exists($mockClassName['fullClassName'], $callAutoload)) {
|
||||
$isInterface = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
if (!class_exists($mockClassName['fullClassName'], $callAutoload) &&
|
||||
!interface_exists($mockClassName['fullClassName'], $callAutoload)) {
|
||||
$prologue = 'class ' . $mockClassName['originalClassName'] . "\n{\n}\n\n";
|
||||
|
||||
if (!empty($mockClassName['namespaceName'])) {
|
||||
$prologue = 'namespace ' . $mockClassName['namespaceName'] .
|
||||
" {\n\n" . $prologue . "}\n\n" .
|
||||
"namespace {\n\n";
|
||||
|
||||
$epilogue = "\n\n}";
|
||||
}
|
||||
|
||||
$cloneTemplate = new Text_Template(
|
||||
$templateDir . 'mocked_clone.tpl'
|
||||
);
|
||||
} else {
|
||||
$class = new ReflectionClass($mockClassName['fullClassName']);
|
||||
|
||||
if ($class->isFinal()) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'Class "%s" is declared "final" and cannot be mocked.',
|
||||
$mockClassName['fullClassName']
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
if ($class->hasMethod('__clone')) {
|
||||
$cloneMethod = $class->getMethod('__clone');
|
||||
|
||||
if (!$cloneMethod->isFinal()) {
|
||||
if ($callOriginalClone && !$isInterface) {
|
||||
$cloneTemplate = new Text_Template(
|
||||
$templateDir . 'unmocked_clone.tpl'
|
||||
);
|
||||
} else {
|
||||
$cloneTemplate = new Text_Template(
|
||||
$templateDir . 'mocked_clone.tpl'
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$cloneTemplate = new Text_Template(
|
||||
$templateDir . 'mocked_clone.tpl'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (is_object($cloneTemplate)) {
|
||||
$cloneTemplate = $cloneTemplate->render();
|
||||
}
|
||||
|
||||
if (is_array($methods) && empty($methods) &&
|
||||
($isClass || $isInterface)) {
|
||||
$methods = get_class_methods($mockClassName['fullClassName']);
|
||||
}
|
||||
|
||||
if (!is_array($methods)) {
|
||||
$methods = array();
|
||||
}
|
||||
|
||||
$mockedMethods = '';
|
||||
|
||||
if (isset($class)) {
|
||||
foreach ($methods as $methodName) {
|
||||
try {
|
||||
$method = $class->getMethod($methodName);
|
||||
|
||||
if (self::canMockMethod($method)) {
|
||||
$mockedMethods .= self::generateMockedMethodDefinitionFromExisting(
|
||||
$templateDir, $method, $cloneArguments
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
catch (ReflectionException $e) {
|
||||
$mockedMethods .= self::generateMockedMethodDefinition(
|
||||
$templateDir, $mockClassName['fullClassName'], $methodName, $cloneArguments
|
||||
);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach ($methods as $methodName) {
|
||||
$mockedMethods .= self::generateMockedMethodDefinition(
|
||||
$templateDir, $mockClassName['fullClassName'], $methodName, $cloneArguments
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$classTemplate->setVar(
|
||||
array(
|
||||
'prologue' => isset($prologue) ? $prologue : '',
|
||||
'epilogue' => isset($epilogue) ? $epilogue : '',
|
||||
'class_declaration' => self::generateMockClassDeclaration(
|
||||
$mockClassName, $isInterface
|
||||
),
|
||||
'clone' => $cloneTemplate,
|
||||
'mock_class_name' => $mockClassName['className'],
|
||||
'mocked_methods' => $mockedMethods
|
||||
)
|
||||
);
|
||||
|
||||
return array(
|
||||
'code' => $classTemplate->render(),
|
||||
'mockClassName' => $mockClassName['className']
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $originalClassName
|
||||
* @param string $className
|
||||
* @param string $prefix
|
||||
* @return array
|
||||
*/
|
||||
protected static function generateClassName($originalClassName, $className, $prefix)
|
||||
{
|
||||
if ($originalClassName[0] == '\\') {
|
||||
$originalClassName = substr($originalClassName, 1);
|
||||
}
|
||||
|
||||
$classNameParts = explode('\\', $originalClassName);
|
||||
|
||||
if (count($classNameParts) > 1) {
|
||||
$originalClassName = array_pop($classNameParts);
|
||||
$namespaceName = join('\\', $classNameParts);
|
||||
$fullClassName = $namespaceName . '\\' . $originalClassName;
|
||||
} else {
|
||||
$namespaceName = '';
|
||||
$fullClassName = $originalClassName;
|
||||
}
|
||||
|
||||
if ($className == '') {
|
||||
do {
|
||||
$className = $prefix . $originalClassName . '_' .
|
||||
substr(md5(microtime()), 0, 8);
|
||||
}
|
||||
while (class_exists($className, FALSE));
|
||||
}
|
||||
|
||||
return array(
|
||||
'className' => $className,
|
||||
'originalClassName' => $originalClassName,
|
||||
'fullClassName' => $fullClassName,
|
||||
'namespaceName' => $namespaceName
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $mockClassName
|
||||
* @param boolean $isInterface
|
||||
* @return array
|
||||
*/
|
||||
protected static function generateMockClassDeclaration(array $mockClassName, $isInterface)
|
||||
{
|
||||
$buffer = 'class ';
|
||||
|
||||
if ($isInterface) {
|
||||
$buffer .= sprintf(
|
||||
"%s implements PHPUnit_Framework_MockObject_MockObject, %s%s",
|
||||
$mockClassName['className'],
|
||||
!empty($mockClassName['namespaceName']) ? $mockClassName['namespaceName'] . '\\' : '',
|
||||
$mockClassName['originalClassName']
|
||||
);
|
||||
} else {
|
||||
$buffer .= sprintf(
|
||||
"%s extends %s%s implements PHPUnit_Framework_MockObject_MockObject",
|
||||
$mockClassName['className'],
|
||||
!empty($mockClassName['namespaceName']) ? $mockClassName['namespaceName'] . '\\' : '',
|
||||
$mockClassName['originalClassName']
|
||||
);
|
||||
}
|
||||
|
||||
return $buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $templateDir
|
||||
* @param ReflectionMethod $method
|
||||
* @param boolean $cloneArguments
|
||||
* @return string
|
||||
*/
|
||||
protected static function generateMockedMethodDefinitionFromExisting($templateDir, ReflectionMethod $method, $cloneArguments = TRUE)
|
||||
{
|
||||
if ($method->isPrivate()) {
|
||||
$modifier = 'private';
|
||||
}
|
||||
|
||||
else if ($method->isProtected()) {
|
||||
$modifier = 'protected';
|
||||
}
|
||||
|
||||
else {
|
||||
$modifier = 'public';
|
||||
}
|
||||
|
||||
if ($method->isStatic()) {
|
||||
$static = TRUE;
|
||||
} else {
|
||||
$static = FALSE;
|
||||
}
|
||||
|
||||
if ($method->returnsReference()) {
|
||||
$reference = '&';
|
||||
} else {
|
||||
$reference = '';
|
||||
}
|
||||
|
||||
return self::generateMockedMethodDefinition(
|
||||
$templateDir,
|
||||
$method->getDeclaringClass()->getName(),
|
||||
$method->getName(),
|
||||
$cloneArguments,
|
||||
$modifier,
|
||||
PHPUnit_Util_Class::getMethodParameters($method),
|
||||
PHPUnit_Util_Class::getMethodParameters($method, TRUE),
|
||||
$reference,
|
||||
$static
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $templateDir
|
||||
* @param string $className
|
||||
* @param string $methodName
|
||||
* @param boolean $cloneArguments
|
||||
* @param string $modifier
|
||||
* @param string $arguments_decl
|
||||
* @param string $arguments_call
|
||||
* @param string $reference
|
||||
* @param boolean $static
|
||||
* @return string
|
||||
*/
|
||||
protected static function generateMockedMethodDefinition($templateDir, $className, $methodName, $cloneArguments = TRUE, $modifier = 'public', $arguments_decl = '', $arguments_call = '', $reference = '', $static = FALSE)
|
||||
{
|
||||
if ($static) {
|
||||
$template = new Text_Template(
|
||||
$templateDir . 'mocked_static_method.tpl'
|
||||
);
|
||||
} else {
|
||||
$template = new Text_Template(
|
||||
$templateDir . 'mocked_object_method.tpl'
|
||||
);
|
||||
}
|
||||
|
||||
$template->setVar(
|
||||
array(
|
||||
'arguments_decl' => $arguments_decl,
|
||||
'arguments_call' => $arguments_call,
|
||||
'arguments_count' => !empty($arguments_call) ? count(explode(',', $arguments_call)) : 0,
|
||||
'class_name' => $className,
|
||||
'method_name' => $methodName,
|
||||
'modifier' => $modifier,
|
||||
'reference' => $reference,
|
||||
'clone_arguments' => $cloneArguments ? 'TRUE' : 'FALSE'
|
||||
)
|
||||
);
|
||||
|
||||
return $template->render();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ReflectionMethod $method
|
||||
* @return boolean
|
||||
*/
|
||||
protected static function canMockMethod(ReflectionMethod $method)
|
||||
{
|
||||
if ($method->isConstructor() || $method->isFinal() ||
|
||||
isset(self::$blacklistedMethodNames[$method->getName()])) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{prologue}{class_declaration}
|
||||
{
|
||||
private static $__phpunit_staticInvocationMocker;
|
||||
private $__phpunit_invocationMocker;
|
||||
|
||||
{clone}{mocked_methods}
|
||||
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
|
||||
{
|
||||
return $this->__phpunit_getInvocationMocker()->expects($matcher);
|
||||
}
|
||||
|
||||
public static function staticExpects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
|
||||
{
|
||||
return self::__phpunit_getStaticInvocationMocker()->expects($matcher);
|
||||
}
|
||||
|
||||
public function __phpunit_getInvocationMocker()
|
||||
{
|
||||
if ($this->__phpunit_invocationMocker === NULL) {
|
||||
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
|
||||
}
|
||||
|
||||
return $this->__phpunit_invocationMocker;
|
||||
}
|
||||
|
||||
public static function __phpunit_getStaticInvocationMocker()
|
||||
{
|
||||
if (self::$__phpunit_staticInvocationMocker === NULL) {
|
||||
self::$__phpunit_staticInvocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker;
|
||||
}
|
||||
|
||||
return self::$__phpunit_staticInvocationMocker;
|
||||
}
|
||||
|
||||
public function __phpunit_hasMatchers()
|
||||
{
|
||||
return self::__phpunit_getStaticInvocationMocker()->hasMatchers() ||
|
||||
$this->__phpunit_getInvocationMocker()->hasMatchers();
|
||||
}
|
||||
|
||||
public function __phpunit_verify()
|
||||
{
|
||||
self::__phpunit_getStaticInvocationMocker()->verify();
|
||||
$this->__phpunit_getInvocationMocker()->verify();
|
||||
}
|
||||
|
||||
public function __phpunit_cleanup()
|
||||
{
|
||||
self::$__phpunit_staticInvocationMocker = NULL;
|
||||
$this->__phpunit_invocationMocker = NULL;
|
||||
}
|
||||
}{epilogue}
|
||||
@@ -0,0 +1,4 @@
|
||||
public function __clone()
|
||||
{
|
||||
$this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
{modifier} function {reference}{method_name}({arguments_decl})
|
||||
{
|
||||
$arguments = array({arguments_call});
|
||||
$count = func_num_args();
|
||||
|
||||
if ($count > {arguments_count}) {
|
||||
$_arguments = func_get_args();
|
||||
|
||||
for ($i = {arguments_count}; $i < $count; $i++) {
|
||||
$arguments[] = $_arguments[$i];
|
||||
}
|
||||
}
|
||||
|
||||
$result = $this->__phpunit_getInvocationMocker()->invoke(
|
||||
new PHPUnit_Framework_MockObject_Invocation_Object(
|
||||
'{class_name}', '{method_name}', $arguments, $this, {clone_arguments}
|
||||
)
|
||||
);
|
||||
|
||||
return $result;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
{modifier} static function {reference}{method_name}({arguments_decl})
|
||||
{
|
||||
$arguments = array({arguments_call});
|
||||
$count = func_num_args();
|
||||
|
||||
if ($count > {arguments_count}) {
|
||||
$_arguments = func_get_args();
|
||||
|
||||
for ($i = {arguments_count}; $i < $count; $i++) {
|
||||
$arguments[] = $_arguments[$i];
|
||||
}
|
||||
}
|
||||
|
||||
$result = self::__phpunit_getStaticInvocationMocker()->invoke(
|
||||
new PHPUnit_Framework_MockObject_Invocation_Static(
|
||||
'{class_name}', '{method_name}', $arguments, {clone_arguments}
|
||||
)
|
||||
);
|
||||
|
||||
return $result;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
class {class_name}
|
||||
{
|
||||
use {trait_name};
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
public function __clone()
|
||||
{
|
||||
$this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
|
||||
parent::__clone();
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{namespace}
|
||||
|
||||
class {class_name} extends \SOAPClient
|
||||
{
|
||||
public function __construct($wsdl, array $options)
|
||||
{
|
||||
parent::__construct('{wsdl}', $options);
|
||||
}
|
||||
{methods}}
|
||||
@@ -0,0 +1,4 @@
|
||||
|
||||
public function {method_name}({arguments})
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Interface for invocations.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Interface available since Release 1.0.0
|
||||
*/
|
||||
interface PHPUnit_Framework_MockObject_Invocation
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a non-static invocation.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Class available since Release 1.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_MockObject_Invocation_Object extends PHPUnit_Framework_MockObject_Invocation_Static
|
||||
{
|
||||
/**
|
||||
* @var object
|
||||
*/
|
||||
public $object;
|
||||
|
||||
/**
|
||||
* @param string $className
|
||||
* @param string $methodname
|
||||
* @param array $parameters
|
||||
* @param object $object
|
||||
* @param object $cloneObjects
|
||||
*/
|
||||
public function __construct($className, $methodName, array $parameters, $object, $cloneObjects = FALSE)
|
||||
{
|
||||
parent::__construct($className, $methodName, $parameters, $cloneObjects);
|
||||
$this->object = $object;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,191 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Represents a static invocation.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Class available since Release 1.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_MockObject_Invocation_Static implements PHPUnit_Framework_MockObject_Invocation, PHPUnit_Framework_SelfDescribing
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected static $uncloneableExtensions = array(
|
||||
'mysqli' => TRUE,
|
||||
'SQLite' => TRUE,
|
||||
'sqlite3' => TRUE,
|
||||
'tidy' => TRUE,
|
||||
'xmlwriter' => TRUE,
|
||||
'xsl' => TRUE
|
||||
);
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected static $uncloneableClasses = array(
|
||||
'Closure',
|
||||
'COMPersistHelper',
|
||||
'IteratorIterator',
|
||||
'RecursiveIteratorIterator',
|
||||
'SplFileObject',
|
||||
'PDORow',
|
||||
'ZipArchive'
|
||||
);
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $className;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $methodName;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
public $parameters;
|
||||
|
||||
/**
|
||||
* @param string $className
|
||||
* @param string $methodname
|
||||
* @param array $parameters
|
||||
* @param boolean $cloneObjects
|
||||
*/
|
||||
public function __construct($className, $methodName, array $parameters, $cloneObjects = FALSE)
|
||||
{
|
||||
$this->className = $className;
|
||||
$this->methodName = $methodName;
|
||||
$this->parameters = $parameters;
|
||||
|
||||
if (!$cloneObjects) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($this->parameters as $key => $value) {
|
||||
if (is_object($value)) {
|
||||
$this->parameters[$key] = $this->cloneObject($value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return sprintf(
|
||||
"%s::%s(%s)",
|
||||
|
||||
$this->className,
|
||||
$this->methodName,
|
||||
join(
|
||||
', ',
|
||||
array_map(
|
||||
array('PHPUnit_Util_Type', 'shortenedExport'),
|
||||
$this->parameters
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param object $original
|
||||
* @return object
|
||||
*/
|
||||
protected function cloneObject($original)
|
||||
{
|
||||
$cloneable = NULL;
|
||||
$object = new ReflectionObject($original);
|
||||
|
||||
// Check the blacklist before asking PHP reflection to work around
|
||||
// https://bugs.php.net/bug.php?id=53967
|
||||
if ($object->isInternal() &&
|
||||
isset(self::$uncloneableExtensions[$object->getExtensionName()])) {
|
||||
$cloneable = FALSE;
|
||||
}
|
||||
|
||||
if ($cloneable === NULL) {
|
||||
foreach (self::$uncloneableClasses as $class) {
|
||||
if ($original instanceof $class) {
|
||||
$cloneable = FALSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($cloneable === NULL && method_exists($object, 'isCloneable')) {
|
||||
$cloneable = $object->isCloneable();
|
||||
}
|
||||
|
||||
if ($cloneable === NULL && $object->hasMethod('__clone')) {
|
||||
$method = $object->getMethod('__clone');
|
||||
$cloneable = $method->isPublic();
|
||||
}
|
||||
|
||||
if ($cloneable === NULL) {
|
||||
$cloneable = TRUE;
|
||||
}
|
||||
|
||||
if ($cloneable) {
|
||||
try {
|
||||
return clone $original;
|
||||
}
|
||||
|
||||
catch (Exception $e) {
|
||||
return $original;
|
||||
}
|
||||
} else {
|
||||
return $original;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Mocker for invocations which are sent from
|
||||
* PHPUnit_Framework_MockObject_MockObject objects.
|
||||
*
|
||||
* Keeps track of all expectations and stubs as well as registering
|
||||
* identifications for builders.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Class available since Release 1.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_MockObject_InvocationMocker implements PHPUnit_Framework_MockObject_Stub_MatcherCollection, PHPUnit_Framework_MockObject_Invokable, PHPUnit_Framework_MockObject_Builder_Namespace
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_MockObject_Matcher_Invocation[]
|
||||
*/
|
||||
protected $matchers = array();
|
||||
|
||||
/**
|
||||
* @var PHPUnit_Framework_MockObject_Builder_Match[]
|
||||
*/
|
||||
protected $builderMap = array();
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
|
||||
*/
|
||||
public function addMatcher(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
|
||||
{
|
||||
$this->matchers[] = $matcher;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since Method available since Release 1.1.0
|
||||
*/
|
||||
public function hasMatchers()
|
||||
{
|
||||
if (empty($this->matchers)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
foreach ($this->matchers as $matcher) {
|
||||
if (!$matcher instanceof PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount) {
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $id
|
||||
* @return boolean|null
|
||||
*/
|
||||
public function lookupId($id)
|
||||
{
|
||||
if (isset($this->builderMap[$id])) {
|
||||
return $this->builderMap[$id];
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $id
|
||||
* @param PHPUnit_Framework_MockObject_Builder_Match $builder
|
||||
* @throws PHPUnit_Framework_Exception
|
||||
*/
|
||||
public function registerId($id, PHPUnit_Framework_MockObject_Builder_Match $builder)
|
||||
{
|
||||
if (isset($this->builderMap[$id])) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'Match builder with id <' . $id . '> is already registered.'
|
||||
);
|
||||
}
|
||||
|
||||
$this->builderMap[$id] = $builder;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
|
||||
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
|
||||
*/
|
||||
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
|
||||
{
|
||||
return new PHPUnit_Framework_MockObject_Builder_InvocationMocker(
|
||||
$this, $matcher
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
* @return mixed
|
||||
*/
|
||||
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
|
||||
{
|
||||
$exception = NULL;
|
||||
$hasReturnValue = FALSE;
|
||||
|
||||
if (strtolower($invocation->methodName) == '__tostring') {
|
||||
$returnValue = '';
|
||||
} else {
|
||||
$returnValue = NULL;
|
||||
}
|
||||
|
||||
foreach ($this->matchers as $match) {
|
||||
try {
|
||||
if ($match->matches($invocation)) {
|
||||
$value = $match->invoked($invocation);
|
||||
|
||||
if (!$hasReturnValue) {
|
||||
$returnValue = $value;
|
||||
$hasReturnValue = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception $e) {
|
||||
$exception = $e;
|
||||
}
|
||||
}
|
||||
|
||||
if ($exception !== NULL) {
|
||||
throw $exception;
|
||||
}
|
||||
|
||||
return $returnValue;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
* @return boolean
|
||||
*/
|
||||
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
|
||||
{
|
||||
foreach ($this->matchers as $matcher) {
|
||||
if (!$matcher->matches($invocation)) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return boolean
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
foreach ($this->matchers as $matcher) {
|
||||
$matcher->verify();
|
||||
}
|
||||
}
|
||||
}
|
||||
79
database/php/pear/PHPUnit/Framework/MockObject/Invokable.php
Normal file
79
database/php/pear/PHPUnit/Framework/MockObject/Invokable.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Interface for classes which can be invoked.
|
||||
*
|
||||
* The invocation will be taken from a mock object and passed to an object
|
||||
* of this class.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Interface available since Release 1.0.0
|
||||
*/
|
||||
interface PHPUnit_Framework_MockObject_Invokable extends PHPUnit_Framework_MockObject_Verifiable
|
||||
{
|
||||
/**
|
||||
* Invokes the invocation object $invocation so that it can be checked for
|
||||
* expectations or matched against stubs.
|
||||
*
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
* The invocation object passed from mock object.
|
||||
* @return object
|
||||
*/
|
||||
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation);
|
||||
|
||||
/**
|
||||
* Checks if the invocation matches.
|
||||
*
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
* The invocation object passed from mock object.
|
||||
* @return boolean
|
||||
*/
|
||||
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation);
|
||||
}
|
||||
308
database/php/pear/PHPUnit/Framework/MockObject/Matcher.php
Normal file
308
database/php/pear/PHPUnit/Framework/MockObject/Matcher.php
Normal file
@@ -0,0 +1,308 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Main matcher which defines a full expectation using method, parameter and
|
||||
* invocation matchers.
|
||||
* This matcher encapsulates all the other matchers and allows the builder to
|
||||
* set the specific matchers when the appropriate methods are called (once(),
|
||||
* where() etc.).
|
||||
*
|
||||
* All properties are public so that they can easily be accessed by the builder.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Class available since Release 1.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_MockObject_Matcher implements PHPUnit_Framework_MockObject_Matcher_Invocation
|
||||
{
|
||||
/**
|
||||
* @var PHPUnit_Framework_MockObject_Matcher_Invocation
|
||||
*/
|
||||
public $invocationMatcher;
|
||||
|
||||
/**
|
||||
* @var mixed
|
||||
*/
|
||||
public $afterMatchBuilderId = NULL;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
public $afterMatchBuilderIsInvoked = FALSE;
|
||||
|
||||
/**
|
||||
* @var PHPUnit_Framework_MockObject_Matcher_MethodName
|
||||
*/
|
||||
public $methodNameMatcher = NULL;
|
||||
|
||||
/**
|
||||
* @var PHPUnit_Framework_MockObject_Matcher_Parameters
|
||||
*/
|
||||
public $parametersMatcher = NULL;
|
||||
|
||||
/**
|
||||
* @var PHPUnit_Framework_MockObject_Stub
|
||||
*/
|
||||
public $stub = NULL;
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher
|
||||
*/
|
||||
public function __construct(PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher)
|
||||
{
|
||||
$this->invocationMatcher = $invocationMatcher;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
$list = array();
|
||||
|
||||
if ($this->invocationMatcher !== NULL) {
|
||||
$list[] = $this->invocationMatcher->toString();
|
||||
}
|
||||
|
||||
if ($this->methodNameMatcher !== NULL) {
|
||||
$list[] = 'where ' . $this->methodNameMatcher->toString();
|
||||
}
|
||||
|
||||
if ($this->parametersMatcher !== NULL) {
|
||||
$list[] = 'and ' . $this->parametersMatcher->toString();
|
||||
}
|
||||
|
||||
if ($this->afterMatchBuilderId !== NULL) {
|
||||
$list[] = 'after ' . $this->afterMatchBuilderId;
|
||||
}
|
||||
|
||||
if ($this->stub !== NULL) {
|
||||
$list[] = 'will ' . $this->stub->toString();
|
||||
}
|
||||
|
||||
return join(' ', $list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
* @return mixed
|
||||
*/
|
||||
public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
|
||||
{
|
||||
if ($this->invocationMatcher === NULL) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'No invocation matcher is set'
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->methodNameMatcher === NULL) {
|
||||
throw new PHPUnit_Framework_Exception('No method matcher is set');
|
||||
}
|
||||
|
||||
if ($this->afterMatchBuilderId !== NULL) {
|
||||
$builder = $invocation->object
|
||||
->__phpunit_getInvocationMocker()
|
||||
->lookupId($this->afterMatchBuilderId);
|
||||
|
||||
if (!$builder) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'No builder found for match builder identification <%s>',
|
||||
|
||||
$this->afterMatchBuilderId
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$matcher = $builder->getMatcher();
|
||||
|
||||
if ($matcher && $matcher->invocationMatcher->hasBeenInvoked()) {
|
||||
$this->afterMatchBuilderIsInvoked = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
$this->invocationMatcher->invoked($invocation);
|
||||
|
||||
try {
|
||||
if ( $this->parametersMatcher !== NULL &&
|
||||
!$this->parametersMatcher->matches($invocation)) {
|
||||
$this->parametersMatcher->verify();
|
||||
}
|
||||
}
|
||||
|
||||
catch (PHPUnit_Framework_ExpectationFailedException $e) {
|
||||
throw new PHPUnit_Framework_ExpectationFailedException(
|
||||
sprintf(
|
||||
"Expectation failed for %s when %s\n%s",
|
||||
|
||||
$this->methodNameMatcher->toString(),
|
||||
$this->invocationMatcher->toString(),
|
||||
$e->getMessage()
|
||||
),
|
||||
$e->getComparisonFailure()
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->stub) {
|
||||
return $this->stub->invoke($invocation);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
* @return boolean
|
||||
*/
|
||||
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
|
||||
{
|
||||
if ($this->afterMatchBuilderId !== NULL) {
|
||||
$builder = $invocation->object
|
||||
->__phpunit_getInvocationMocker()
|
||||
->lookupId($this->afterMatchBuilderId);
|
||||
|
||||
if (!$builder) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
sprintf(
|
||||
'No builder found for match builder identification <%s>',
|
||||
|
||||
$this->afterMatchBuilderId
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$matcher = $builder->getMatcher();
|
||||
|
||||
if (!$matcher) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!$matcher->invocationMatcher->hasBeenInvoked()) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->invocationMatcher === NULL) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'No invocation matcher is set'
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->methodNameMatcher === NULL) {
|
||||
throw new PHPUnit_Framework_Exception('No method matcher is set');
|
||||
}
|
||||
|
||||
if (!$this->invocationMatcher->matches($invocation)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
try {
|
||||
if (!$this->methodNameMatcher->matches($invocation)) {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
catch (PHPUnit_Framework_ExpectationFailedException $e) {
|
||||
throw new PHPUnit_Framework_ExpectationFailedException(
|
||||
sprintf(
|
||||
"Expectation failed for %s when %s\n%s",
|
||||
|
||||
$this->methodNameMatcher->toString(),
|
||||
$this->invocationMatcher->toString(),
|
||||
$e->getMessage()
|
||||
),
|
||||
$e->getComparisonFailure()
|
||||
);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws PHPUnit_Framework_Exception
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
if ($this->invocationMatcher === NULL) {
|
||||
throw new PHPUnit_Framework_Exception(
|
||||
'No invocation matcher is set'
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->methodNameMatcher === NULL) {
|
||||
throw new PHPUnit_Framework_Exception('No method matcher is set');
|
||||
}
|
||||
|
||||
try {
|
||||
$this->invocationMatcher->verify();
|
||||
|
||||
if ($this->parametersMatcher === NULL) {
|
||||
$this->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_AnyParameters;
|
||||
}
|
||||
|
||||
$invocationIsAny = get_class($this->invocationMatcher) === 'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount';
|
||||
if (!$invocationIsAny) {
|
||||
$this->parametersMatcher->verify();
|
||||
}
|
||||
}
|
||||
|
||||
catch (PHPUnit_Framework_ExpectationFailedException $e) {
|
||||
throw new PHPUnit_Framework_ExpectationFailedException(
|
||||
sprintf(
|
||||
"Expectation failed for %s when %s.\n%s",
|
||||
|
||||
$this->methodNameMatcher->toString(),
|
||||
$this->invocationMatcher->toString(),
|
||||
$e->getMessage()
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Invocation matcher which checks if a method has been invoked zero or more
|
||||
* times. This matcher will always match.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Class available since Release 1.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
|
||||
{
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'invoked zero or more times';
|
||||
}
|
||||
|
||||
/**
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Invocation matcher which allos any parameters to a method.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Class available since Release 1.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_MockObject_Matcher_AnyParameters extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
|
||||
{
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'with any parameters';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
* @return boolean
|
||||
*/
|
||||
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Interface for classes which matches an invocation based on its
|
||||
* method name, argument, order or call count.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Interface available since Release 1.0.0
|
||||
*/
|
||||
interface PHPUnit_Framework_MockObject_Matcher_Invocation extends PHPUnit_Framework_SelfDescribing, PHPUnit_Framework_MockObject_Verifiable
|
||||
{
|
||||
/**
|
||||
* Registers the invocation $invocation in the object as being invoked.
|
||||
* This will only occur after matches() returns true which means the
|
||||
* current invocation is the correct one.
|
||||
*
|
||||
* The matcher can store information from the invocation which can later
|
||||
* be checked in verify(), or it can check the values directly and throw
|
||||
* and exception if an expectation is not met.
|
||||
*
|
||||
* If the matcher is a stub it will also have a return value.
|
||||
*
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
* Object containing information on a mocked or stubbed method which
|
||||
* was invoked.
|
||||
* @return mixed
|
||||
*/
|
||||
public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation);
|
||||
|
||||
/**
|
||||
* Checks if the invocation $invocation matches the current rules. If it does
|
||||
* the matcher will get the invoked() method called which should check if an
|
||||
* expectation is met.
|
||||
*
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
* Object containing information on a mocked or stubbed method which
|
||||
* was invoked.
|
||||
* @return bool
|
||||
*/
|
||||
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation);
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
<?php
|
||||
/**
|
||||
* PHPUnit
|
||||
*
|
||||
* Copyright (c) 2010-2013, Sebastian Bergmann <sb@sebastian-bergmann.de>.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
*
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* * Neither the name of Sebastian Bergmann nor the names of his
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since File available since Release 1.0.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Invocation matcher which checks if a method was invoked at a certain index.
|
||||
*
|
||||
* If the expected index number does not match the current invocation index it
|
||||
* will not match which means it skips all method and parameter matching. Only
|
||||
* once the index is reached will the method and parameter start matching and
|
||||
* verifying.
|
||||
*
|
||||
* If the index is never reached it will throw an exception in index.
|
||||
*
|
||||
* @package PHPUnit_MockObject
|
||||
* @author Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @copyright 2010-2013 Sebastian Bergmann <sb@sebastian-bergmann.de>
|
||||
* @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
|
||||
* @version Release: 1.2.3
|
||||
* @link http://github.com/sebastianbergmann/phpunit-mock-objects
|
||||
* @since Class available since Release 1.0.0
|
||||
*/
|
||||
class PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex implements PHPUnit_Framework_MockObject_Matcher_Invocation
|
||||
{
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
protected $sequenceIndex;
|
||||
|
||||
/**
|
||||
* @var integer
|
||||
*/
|
||||
protected $currentIndex = -1;
|
||||
|
||||
/**
|
||||
* @param integer $sequenceIndex
|
||||
*/
|
||||
public function __construct($sequenceIndex)
|
||||
{
|
||||
$this->sequenceIndex = $sequenceIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function toString()
|
||||
{
|
||||
return 'invoked at sequence index ' . $this->sequenceIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
* @return boolean
|
||||
*/
|
||||
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
|
||||
{
|
||||
$this->currentIndex++;
|
||||
|
||||
return $this->currentIndex == $this->sequenceIndex;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PHPUnit_Framework_MockObject_Invocation $invocation
|
||||
*/
|
||||
public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Verifies that the current expectation is valid. If everything is OK the
|
||||
* code should just return, if not it must throw an exception.
|
||||
*
|
||||
* @throws PHPUnit_Framework_ExpectationFailedException
|
||||
*/
|
||||
public function verify()
|
||||
{
|
||||
if ($this->currentIndex < $this->sequenceIndex) {
|
||||
throw new PHPUnit_Framework_ExpectationFailedException(
|
||||
sprintf(
|
||||
'The expected invocation at index %s was never reached.',
|
||||
|
||||
$this->sequenceIndex
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user