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

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

View File

@@ -0,0 +1,15 @@
| Q | A
| -----------------------------| ---------------
| phpunit-mock-objects version | x.y.z
| PHPUnit version | x.y.z
| PHP version | x.y.z
| Installation Method | Composer / PHAR
<!--
- Please fill in this template according to your issue.
- Please keep the table shown above at the top of your issue.
- Please post code as text (using proper markup). Do not post screenshots of code.
- For support request or how-tos, visit https://phpunit.de/support.html
- Otherwise, replace this comment by the description of your issue.
-->

View File

@@ -1,7 +1,4 @@
build/coverage
build/logs
cache.properties
/vendor
/composer.lock
/composer.phar
/.idea
/.php_cs.cache
/composer.lock
/vendor

View File

@@ -1,67 +1,87 @@
<?php
$finder = Symfony\CS\Finder\DefaultFinder::create()
->files()
->in('src')
->in('tests')
->name('*.php');
$header = <<<'EOF'
This file is part of the phpunit-mock-objects package.
return Symfony\CS\Config\Config::create()
->level(\Symfony\CS\FixerInterface::NONE_LEVEL)
->fixers(
array(
'align_double_arrow',
'align_equals',
'braces',
'concat_with_spaces',
'duplicate_semicolon',
'elseif',
'empty_return',
'encoding',
'eof_ending',
'extra_empty_lines',
'function_call_space',
'function_declaration',
'indentation',
'join_function',
'line_after_namespace',
'linefeed',
'list_commas',
'lowercase_constants',
'lowercase_keywords',
'method_argument_space',
'multiple_use',
'namespace_no_leading_whitespace',
'no_blank_lines_after_class_opening',
'no_empty_lines_after_phpdocs',
'parenthesis',
'php_closing_tag',
'phpdoc_indent',
'phpdoc_no_access',
'phpdoc_no_empty_return',
'phpdoc_no_package',
'phpdoc_params',
'phpdoc_scalar',
'phpdoc_separation',
'phpdoc_to_comment',
'phpdoc_trim',
'phpdoc_types',
'phpdoc_var_without_name',
'remove_lines_between_uses',
'return',
'self_accessor',
'short_array_syntax',
'short_tag',
'single_line_after_imports',
'single_quote',
'spaces_before_semicolon',
'spaces_cast',
'ternary_spaces',
'trailing_spaces',
'trim_array_spaces',
'unused_use',
'visibility',
'whitespacy_lines'
)
(c) Sebastian Bergmann <sebastian@phpunit.de>
For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
EOF;
return PhpCsFixer\Config::create()
->setRiskyAllowed(true)
->setRules(
[
'array_syntax' => ['syntax' => 'short'],
'binary_operator_spaces' => [
'align_double_arrow' => true,
'align_equals' => true
],
'blank_line_after_namespace' => true,
'blank_line_before_statement' => [
'statements' => [
'break',
'continue',
'return',
'throw',
'try',
],
],
'braces' => true,
'cast_spaces' => true,
'concat_space' => ['spacing' => 'one'],
'elseif' => true,
'encoding' => true,
'full_opening_tag' => true,
'function_declaration' => true,
'header_comment' => ['header' => $header, 'separate' => 'none'],
'indentation_type' => true,
'line_ending' => true,
'lowercase_constants' => true,
'lowercase_keywords' => true,
'method_argument_space' => true,
'native_function_invocation' => true,
'no_alias_functions' => true,
'no_blank_lines_after_class_opening' => true,
'no_blank_lines_after_phpdoc' => true,
'no_closing_tag' => true,
'no_empty_phpdoc' => true,
'no_empty_statement' => true,
'no_extra_consecutive_blank_lines' => true,
'no_leading_namespace_whitespace' => true,
'no_singleline_whitespace_before_semicolons' => true,
'no_spaces_after_function_name' => true,
'no_spaces_inside_parenthesis' => true,
'no_trailing_comma_in_list_call' => true,
'no_trailing_whitespace' => true,
'no_unused_imports' => true,
'no_whitespace_in_blank_line' => true,
'ordered_imports' => true,
'phpdoc_align' => true,
'phpdoc_indent' => true,
'phpdoc_no_access' => true,
'phpdoc_no_empty_return' => true,
'phpdoc_no_package' => true,
'phpdoc_scalar' => true,
'phpdoc_separation' => true,
'phpdoc_to_comment' => true,
'phpdoc_trim' => true,
'phpdoc_types' => true,
'phpdoc_var_without_name' => true,
'self_accessor' => true,
'simplified_null_return' => true,
'single_blank_line_at_eof' => true,
'single_import_per_statement' => true,
'single_line_after_imports' => true,
'single_quote' => true,
'ternary_operator_spaces' => true,
'trim_array_spaces' => true,
'visibility_required' => true,
]
)
->finder($finder);
->setFinder(
PhpCsFixer\Finder::create()
->files()
->in(__DIR__ . '/src')
->name('*.php')
);

View File

@@ -1,22 +1,34 @@
language: php
before_script:
- composer self-update
- composer install --no-interaction --prefer-source --dev
script: ./vendor/bin/phpunit --configuration ./build/travis-ci.xml
sudo: false
php:
- 5.6
- 7.0
- hhvm
- 7.1
- 7.2
- master
env:
matrix:
- DEPENDENCIES="high"
- DEPENDENCIES="low"
global:
- DEFAULT_COMPOSER_FLAGS="--no-interaction --no-ansi --no-progress --no-suggest"
before_install:
- composer self-update
- composer clear-cache
install:
- if [[ "$DEPENDENCIES" = 'high' ]]; then travis_retry composer update $DEFAULT_COMPOSER_FLAGS; fi
- if [[ "$DEPENDENCIES" = 'low' ]]; then travis_retry composer update $DEFAULT_COMPOSER_FLAGS --prefer-lowest; fi
script:
- ./vendor/bin/phpunit --coverage-clover=coverage.xml
after_success:
- bash <(curl -s https://codecov.io/bash)
notifications:
email: false
webhooks:
urls:
- https://webhooks.gitter.im/e/6668f52f3dd4e3f81960
on_success: always
on_failure: always
on_start: false

View File

@@ -1 +1 @@
Please refer to [https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md) for details on how to contribute to this project.
Please refer to [https://github.com/sebastianbergmann/phpunit/blob/master/.github/CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/.github/CONTRIBUTING.md) for details on how to contribute to this project.

View File

@@ -1,6 +1,6 @@
PHPUnit_MockObject
phpunit-mock-objects
Copyright (c) 2002-2015, Sebastian Bergmann <sebastian@phpunit.de>.
Copyright (c) 2002-2017, Sebastian Bergmann <sebastian@phpunit.de>.
All rights reserved.
Redistribution and use in source and binary forms, with or without

View File

@@ -1,22 +1,7 @@
[![Latest Stable Version](https://img.shields.io/packagist/v/phpunit/phpunit-mock-objects.svg?style=flat-square)](https://packagist.org/packages/phpunit/phpunit-mock-objects)
[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%205.6-8892BF.svg?style=flat-square)](https://php.net/)
[![Build Status](https://img.shields.io/travis/sebastianbergmann/phpunit-mock-objects/master.svg?style=flat-square)](https://travis-ci.org/sebastianbergmann/phpunit-mock-objects)
[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.0-8892BF.svg?style=flat-square)](https://php.net/)
[![Build Status](https://img.shields.io/travis/sebastianbergmann/phpunit-mock-objects/master.svg?style=flat-square)](https://phpunit.de/build-status.html)
# PHPUnit_MockObject
**PHPUnit_MockObject** is the default mock object library for PHPUnit.
## Requirements
* PHP 5.6 is required but using the latest version of PHP is highly recommended
## Installation
You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/):
composer require phpunit/phpunit-mock-objects
If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:
composer require --dev phpunit/phpunit-mock-objects
# phpunit-mock-objects
**phpunit-mock-objects** is the default mock object library for PHPUnit.

View File

@@ -1,42 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="PHPUnit_MockObjects">
<target name="clean" description="Cleanup build artifacts">
<delete dir="${basedir}/vendor"/>
<delete file="${basedir}/composer.lock"/>
<project name="phpunit-mock-objects" default="setup">
<target name="setup" depends="clean,composer"/>
<delete>
<fileset dir="${basedir}/build">
<include name="**/*.phar" />
</fileset>
</delete>
</target>
<target name="clean" description="Cleanup build artifacts">
<delete dir="${basedir}/vendor"/>
<delete file="${basedir}/composer.lock"/>
</target>
<target name="composer" depends="clean" description="Install dependencies with Composer">
<tstamp>
<format property="thirty.days.ago" pattern="MM/dd/yyyy hh:mm aa" offset="-30" unit="day"/>
</tstamp>
<delete>
<fileset dir="${basedir}">
<include name="composer.phar" />
<date datetime="${thirty.days.ago}" when="before"/>
</fileset>
</delete>
<get src="https://getcomposer.org/composer.phar" dest="${basedir}/composer.phar" skipexisting="true"/>
<exec executable="php">
<arg value="composer.phar"/>
<arg value="install"/>
</exec>
</target>
<target name="phpcs" description="Find coding standard violations using PHP_CodeSniffer">
<exec executable="phpcs">
<arg value="--standard=PSR2" />
<arg value="--extensions=php" />
<arg path="${basedir}/src" />
<arg path="${basedir}/tests" />
</exec>
</target>
<target name="composer" depends="clean" description="Install dependencies with Composer">
<exec executable="composer" taskname="composer">
<arg value="update"/>
<arg value="--no-interaction"/>
<arg value="--no-progress"/>
<arg value="--no-ansi"/>
<arg value="--no-suggest"/>
</exec>
</target>
</project>

View File

@@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.2/phpunit.xsd"
bootstrap="../tests/bootstrap.php"
backupGlobals="false"
verbose="true">
<testsuite name="PHPUnit Mock Objects">
<directory suffix="Test.php">../tests</directory>
<directory suffix=".phpt">../tests</directory>
</testsuite>
</phpunit>

View File

@@ -11,25 +11,29 @@
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sb@sebastian-bergmann.de",
"email": "sebastian@phpunit.de",
"role": "lead"
}
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues",
"irc": "irc://irc.freenode.net/phpunit"
"issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues"
},
"prefer-stable": true,
"require": {
"php": "^5.6 || ^7.0",
"phpunit/php-text-template": "^1.2",
"doctrine/instantiator": "^1.0.2",
"sebastian/exporter": "^1.2 || ^2.0"
"php": "^7.0",
"phpunit/php-text-template": "^1.2.1",
"doctrine/instantiator": "^1.0.5",
"sebastian/exporter": "^3.1"
},
"require-dev": {
"phpunit/phpunit": "^5.4"
"phpunit/phpunit": "^6.5"
},
"conflict": {
"phpunit/phpunit": "<5.4.0"
"phpunit/phpunit": "<6.0"
},
"config": {
"optimize-autoloader": true,
"sort-packages": true
},
"suggest": {
"ext-soap": "*"
@@ -46,7 +50,7 @@
},
"extra": {
"branch-alias": {
"dev-master": "3.2.x-dev"
"dev-master": "5.0.x-dev"
}
}
}

View File

@@ -1,21 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/5.6/phpunit.xsd"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/6.5/phpunit.xsd"
bootstrap="tests/bootstrap.php"
backupGlobals="false"
beStrictAboutCoversAnnotation="true"
beStrictAboutOutputDuringTests="true"
beStrictAboutTestsThatDoNotTestAnything="true"
beStrictAboutTodoAnnotatedTests="true"
verbose="true">
<testsuite>
<directory suffix="Test.php">tests</directory>
<directory suffix=".phpt">tests</directory>
</testsuite>
<testsuites>
<testsuite name="small">
<directory suffix="Test.php">tests</directory>
</testsuite>
<testsuite name="large">
<directory suffix=".phpt">tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src</directory>
</whitelist>
</filter>
<php>
<const name="PHPUNIT_TESTSUITE" value="true"/>
</php>
</phpunit>

View File

@@ -1,12 +1,13 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Builder;
/**
* Builder interface for unique identifiers.
@@ -14,11 +15,9 @@
* 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().
*
* @since Interface available since Release 1.0.0
* PHPUnit\Framework\MockObject\Builder\Match::after().
*/
interface PHPUnit_Framework_MockObject_Builder_Identity
interface Identity
{
/**
* Sets the identification of the expectation to $id.

View File

@@ -0,0 +1,299 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Builder;
use PHPUnit\Framework\Constraint\Constraint;
use PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\MockObject\Matcher\Invocation;
use PHPUnit\Framework\MockObject\RuntimeException;
use PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\Stub\MatcherCollection;
/**
* 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.
*/
class InvocationMocker implements MethodNameMatch
{
/**
* @var MatcherCollection
*/
private $collection;
/**
* @var Matcher
*/
private $matcher;
/**
* @var string[]
*/
private $configurableMethods = [];
/**
* @param MatcherCollection $collection
* @param Invocation $invocationMatcher
* @param array $configurableMethods
*/
public function __construct(MatcherCollection $collection, Invocation $invocationMatcher, array $configurableMethods)
{
$this->collection = $collection;
$this->matcher = new Matcher($invocationMatcher);
$this->collection->addMatcher($this->matcher);
$this->configurableMethods = $configurableMethods;
}
/**
* @return Matcher
*/
public function getMatcher()
{
return $this->matcher;
}
/**
* @param mixed $id
*
* @return InvocationMocker
*/
public function id($id)
{
$this->collection->registerId($id, $this);
return $this;
}
/**
* @param Stub $stub
*
* @return InvocationMocker
*/
public function will(Stub $stub)
{
$this->matcher->setStub($stub);
return $this;
}
/**
* @param mixed $value
* @param mixed $nextValues, ...
*
* @return InvocationMocker
*/
public function willReturn($value, ...$nextValues)
{
if (\count($nextValues) === 0) {
$stub = new Stub\ReturnStub($value);
} else {
$stub = new Stub\ConsecutiveCalls(
\array_merge([$value], $nextValues)
);
}
return $this->will($stub);
}
/**
* @param mixed $reference
*
* @return InvocationMocker
*/
public function willReturnReference(&$reference)
{
$stub = new Stub\ReturnReference($reference);
return $this->will($stub);
}
/**
* @param array $valueMap
*
* @return InvocationMocker
*/
public function willReturnMap(array $valueMap)
{
$stub = new Stub\ReturnValueMap($valueMap);
return $this->will($stub);
}
/**
* @param mixed $argumentIndex
*
* @return InvocationMocker
*/
public function willReturnArgument($argumentIndex)
{
$stub = new Stub\ReturnArgument($argumentIndex);
return $this->will($stub);
}
/**
* @param callable $callback
*
* @return InvocationMocker
*/
public function willReturnCallback($callback)
{
$stub = new Stub\ReturnCallback($callback);
return $this->will($stub);
}
/**
* @return InvocationMocker
*/
public function willReturnSelf()
{
$stub = new Stub\ReturnSelf;
return $this->will($stub);
}
/**
* @param mixed $values, ...
*
* @return InvocationMocker
*/
public function willReturnOnConsecutiveCalls(...$values)
{
$stub = new Stub\ConsecutiveCalls($values);
return $this->will($stub);
}
/**
* @param \Exception $exception
*
* @return InvocationMocker
*/
public function willThrowException(\Exception $exception)
{
$stub = new Stub\Exception($exception);
return $this->will($stub);
}
/**
* @param mixed $id
*
* @return InvocationMocker
*/
public function after($id)
{
$this->matcher->setAfterMatchBuilderId($id);
return $this;
}
/**
* @param array ...$arguments
*
* @return InvocationMocker
*
* @throws RuntimeException
*/
public function with(...$arguments)
{
$this->canDefineParameters();
$this->matcher->setParametersMatcher(new Matcher\Parameters($arguments));
return $this;
}
/**
* @param array ...$arguments
*
* @return InvocationMocker
*
* @throws RuntimeException
*/
public function withConsecutive(...$arguments)
{
$this->canDefineParameters();
$this->matcher->setParametersMatcher(new Matcher\ConsecutiveParameters($arguments));
return $this;
}
/**
* @return InvocationMocker
*
* @throws RuntimeException
*/
public function withAnyParameters()
{
$this->canDefineParameters();
$this->matcher->setParametersMatcher(new Matcher\AnyParameters);
return $this;
}
/**
* @param Constraint|string $constraint
*
* @return InvocationMocker
*
* @throws RuntimeException
*/
public function method($constraint)
{
if ($this->matcher->hasMethodNameMatcher()) {
throw new RuntimeException(
'Method name matcher is already defined, cannot redefine'
);
}
if (\is_string($constraint) && !\in_array(\strtolower($constraint), $this->configurableMethods)) {
throw new RuntimeException(
\sprintf(
'Trying to configure method "%s" which cannot be configured because it does not exist, has not been specified, is final, or is static',
$constraint
)
);
}
$this->matcher->setMethodNameMatcher(new Matcher\MethodName($constraint));
return $this;
}
/**
* Validate that a parameters matcher can be defined, throw exceptions otherwise.
*
* @throws RuntimeException
*/
private function canDefineParameters()
{
if (!$this->matcher->hasMethodNameMatcher()) {
throw new RuntimeException(
'Method name matcher is not defined, cannot define parameter ' .
'matcher without one'
);
}
if ($this->matcher->hasParametersMatcher()) {
throw new RuntimeException(
'Parameter matcher is already defined, cannot redefine'
);
}
}
}

View File

@@ -1,19 +1,18 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Builder;
/**
* Builder interface for invocation order matches.
*
* @since Interface available since Release 1.0.0
*/
interface PHPUnit_Framework_MockObject_Builder_Match extends PHPUnit_Framework_MockObject_Builder_Stub
interface Match extends Stub
{
/**
* Defines the expectation which must occur before the current is valid.
@@ -21,7 +20,7 @@ interface PHPUnit_Framework_MockObject_Builder_Match extends PHPUnit_Framework_M
* @param string $id The identification of the expectation that should
* occur before this one.
*
* @return PHPUnit_Framework_MockObject_Builder_Stub
* @return Stub
*/
public function after($id);
}

View File

@@ -0,0 +1,26 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Builder;
/**
* Builder interface for matcher of method names.
*/
interface MethodNameMatch extends ParametersMatch
{
/**
* Adds a new method name match and returns the parameter match object for
* further matching possibilities.
*
* @param \PHPUnit\Framework\Constraint\Constraint $name Constraint for matching method, if a string is passed it will use the PHPUnit_Framework_Constraint_IsEqual
*
* @return ParametersMatch
*/
public function method($name);
}

View File

@@ -1,28 +1,27 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Builder;
/**
* Interface for builders which can register builders with a given identification.
*
* This interface relates to PHPUnit_Framework_MockObject_Builder_Identity.
*
* @since Interface available since Release 1.0.0
* This interface relates to Identity.
*/
interface PHPUnit_Framework_MockObject_Builder_Namespace
interface NamespaceMatch
{
/**
* Looks up the match builder with identification $id and returns it.
*
* @param string $id The identification of the match builder
*
* @return PHPUnit_Framework_MockObject_Builder_Match
* @return Match
*/
public function lookupId($id);
@@ -31,8 +30,8 @@ interface PHPUnit_Framework_MockObject_Builder_Namespace
* 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
* @param string $id The identification of the match builder
* @param Match $builder The builder which is being registered
*/
public function registerId($id, PHPUnit_Framework_MockObject_Builder_Match $builder);
public function registerId($id, Match $builder);
}

View File

@@ -1,36 +1,37 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Builder;
use PHPUnit\Framework\MockObject\Matcher\AnyParameters;
/**
* Builder interface for parameter matchers.
*
* @since Interface available since Release 1.0.0
*/
interface PHPUnit_Framework_MockObject_Builder_ParametersMatch extends PHPUnit_Framework_MockObject_Builder_Match
interface ParametersMatch extends Match
{
/**
* Sets the parameters to match for, each parameter to this funtion will
* Sets the parameters to match for, each parameter to this function will
* be part of match. To perform specific matches or constraints create a
* new PHPUnit_Framework_Constraint and use it for the parameter.
* new PHPUnit\Framework\Constraint\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.
* 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));
* $b->with('smock', new PHPUnit\Framework\Constraint\IsEqual(42));
* </code>
*
* @return PHPUnit_Framework_MockObject_Builder_ParametersMatch
* @return ParametersMatch
*/
public function with(...$arguments);
@@ -43,7 +44,7 @@ interface PHPUnit_Framework_MockObject_Builder_ParametersMatch extends PHPUnit_F
* $b->withAnyParameters();
* </code>
*
* @return PHPUnit_Framework_MockObject_Matcher_AnyParameters
* @return AnyParameters
*/
public function withAnyParameters();
}

View File

@@ -1,27 +1,28 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Builder;
use PHPUnit\Framework\MockObject\Stub as BaseStub;
/**
* Builder interface for stubs which are actions replacing an invocation.
*
* @since Interface available since Release 1.0.0
*/
interface PHPUnit_Framework_MockObject_Builder_Stub extends PHPUnit_Framework_MockObject_Builder_Identity
interface Stub extends 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
* @param BaseStub $stub
*
* @return PHPUnit_Framework_MockObject_Builder_Identity
* @return Identity
*/
public function will(PHPUnit_Framework_MockObject_Stub $stub);
public function will(BaseStub $stub);
}

View File

@@ -0,0 +1,14 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
class BadMethodCallException extends \BadMethodCallException implements Exception
{
}

View File

@@ -1,18 +1,17 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
/**
* Interface for exceptions used by PHPUnit_MockObject.
*
* @since Interface available since Release 2.0.6
*/
interface PHPUnit_Framework_MockObject_Exception
interface Exception
{
}

View File

@@ -0,0 +1,14 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
class RuntimeException extends \RuntimeException implements Exception
{
}

View File

@@ -0,0 +1,17 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
use PHPUnit_Framework_MockObject_MockObject;
interface MockObject extends PHPUnit_Framework_MockObject_MockObject
{
}

View File

@@ -1,291 +0,0 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* 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.
*
* @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;
/**
* @var string[]
*/
private $configurableMethods = [];
/**
* @param PHPUnit_Framework_MockObject_Stub_MatcherCollection $collection
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher
* @param array $configurableMethods
*/
public function __construct(PHPUnit_Framework_MockObject_Stub_MatcherCollection $collection, PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher, array $configurableMethods)
{
$this->collection = $collection;
$this->matcher = new PHPUnit_Framework_MockObject_Matcher(
$invocationMatcher
);
$this->collection->addMatcher($this->matcher);
$this->configurableMethods = $configurableMethods;
}
/**
* @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 $value
* @param mixed $nextValues, ...
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function willReturn($value, ...$nextValues)
{
$stub = count($nextValues) === 0 ?
new PHPUnit_Framework_MockObject_Stub_Return($value) :
new PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls(
array_merge([$value], $nextValues)
);
return $this->will($stub);
}
/**
* @param mixed $reference
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function willReturnReference(&$reference)
{
$stub = new PHPUnit_Framework_MockObject_Stub_ReturnReference($reference);
return $this->will($stub);
}
/**
* @param array $valueMap
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function willReturnMap(array $valueMap)
{
$stub = new PHPUnit_Framework_MockObject_Stub_ReturnValueMap(
$valueMap
);
return $this->will($stub);
}
/**
* @param mixed $argumentIndex
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function willReturnArgument($argumentIndex)
{
$stub = new PHPUnit_Framework_MockObject_Stub_ReturnArgument(
$argumentIndex
);
return $this->will($stub);
}
/**
* @param callable $callback
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function willReturnCallback($callback)
{
$stub = new PHPUnit_Framework_MockObject_Stub_ReturnCallback(
$callback
);
return $this->will($stub);
}
/**
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function willReturnSelf()
{
$stub = new PHPUnit_Framework_MockObject_Stub_ReturnSelf;
return $this->will($stub);
}
/**
* @param mixed $values, ...
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function willReturnOnConsecutiveCalls(...$values)
{
$stub = new PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls($values);
return $this->will($stub);
}
/**
* @param Exception $exception
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function willThrowException(Exception $exception)
{
$stub = new PHPUnit_Framework_MockObject_Stub_Exception($exception);
return $this->will($stub);
}
/**
* @param mixed $id
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function after($id)
{
$this->matcher->afterMatchBuilderId = $id;
return $this;
}
/**
* Validate that a parameters matcher can be defined, throw exceptions otherwise.
*
* @throws PHPUnit_Framework_MockObject_RuntimeException
*/
private function canDefineParameters()
{
if ($this->matcher->methodNameMatcher === null) {
throw new PHPUnit_Framework_MockObject_RuntimeException(
'Method name matcher is not defined, cannot define parameter ' .
'matcher without one'
);
}
if ($this->matcher->parametersMatcher !== null) {
throw new PHPUnit_Framework_MockObject_RuntimeException(
'Parameter matcher is already defined, cannot redefine'
);
}
}
/**
* @param array ...$arguments
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function with(...$arguments)
{
$this->canDefineParameters();
$this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_Parameters($arguments);
return $this;
}
/**
* @param array ...$arguments
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function withConsecutive(...$arguments)
{
$this->canDefineParameters();
$this->matcher->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters($arguments);
return $this;
}
/**
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
*/
public function withAnyParameters()
{
$this->canDefineParameters();
$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_MockObject_RuntimeException(
'Method name matcher is already defined, cannot redefine'
);
}
if (is_string($constraint) && !in_array(strtolower($constraint), $this->configurableMethods)) {
throw new PHPUnit_Framework_MockObject_RuntimeException(
sprintf(
'Trying to configure method "%s" which cannot be configured because it does not exist, has not been specified, is final, or is static',
$constraint
)
);
}
$this->matcher->methodNameMatcher = new PHPUnit_Framework_MockObject_Matcher_MethodName($constraint);
return $this;
}
}

View File

@@ -1,27 +0,0 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Builder interface for matcher of method names.
*
* @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);
}

View File

@@ -1,16 +0,0 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* @since Class available since Release 2.0.6
*/
class PHPUnit_Framework_MockObject_BadMethodCallException extends BadMethodCallException implements PHPUnit_Framework_MockObject_Exception
{
}

View File

@@ -1,16 +0,0 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* @since Class available since Release 2.0.6
*/
class PHPUnit_Framework_MockObject_RuntimeException extends RuntimeException implements PHPUnit_Framework_MockObject_Exception
{
}

View File

@@ -1,5 +0,0 @@
{modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type}
{
throw new PHPUnit_Framework_MockObject_BadMethodCallException('Static method "{method_name}" cannot be invoked on mock object');
}

View File

@@ -1,22 +0,0 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Interface for invocations.
*
* @since Interface available since Release 1.0.0
*/
interface PHPUnit_Framework_MockObject_Invocation
{
/**
* @return mixed Mocked return value.
*/
public function generateReturnValue();
}

View File

@@ -1,48 +0,0 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use SebastianBergmann\Exporter\Exporter;
/**
* Stubs a method by raising a user-defined exception.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Stub_Exception implements PHPUnit_Framework_MockObject_Stub
{
protected $exception;
public function __construct($exception)
{
// TODO Replace check with type declaration when support for PHP 5 is dropped
if (!$exception instanceof Throwable && !$exception instanceof Exception) {
throw new PHPUnit_Framework_MockObject_RuntimeException(
'Exception must be an instance of Throwable (PHP 7) or Exception (PHP 5)'
);
}
$this->exception = $exception;
}
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
{
throw $this->exception;
}
public function toString()
{
$exporter = new Exporter;
return sprintf(
'raise user-specified exception %s',
$exporter->export($this->exception)
);
}
}

View File

@@ -1,38 +0,0 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Stubs a method by returning an argument that was passed to the mocked method.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Stub_ReturnArgument extends PHPUnit_Framework_MockObject_Stub_Return
{
protected $argumentIndex;
public function __construct($argumentIndex)
{
$this->argumentIndex = $argumentIndex;
}
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
{
if (isset($invocation->parameters[$this->argumentIndex])) {
return $invocation->parameters[$this->argumentIndex];
} else {
return;
}
}
public function toString()
{
return sprintf('return argument #%d', $this->argumentIndex);
}
}

View File

@@ -1,51 +0,0 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Stub_ReturnCallback implements PHPUnit_Framework_MockObject_Stub
{
protected $callback;
public function __construct($callback)
{
$this->callback = $callback;
}
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
{
return call_user_func_array($this->callback, $invocation->parameters);
}
public function toString()
{
if (is_array($this->callback)) {
if (is_object($this->callback[0])) {
$class = get_class($this->callback[0]);
$type = '->';
} else {
$class = $this->callback[0];
$type = '::';
}
return sprintf(
'return result of user defined callback %s%s%s() with the ' .
'passed arguments',
$class,
$type,
$this->callback[1]
);
} else {
return 'return result of user defined callback ' . $this->callback .
' with the passed arguments';
}
}
}

View File

@@ -1,22 +0,0 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Stubs a method by returning a user-defined reference to a value.
*
* @since Class available since Release 3.0.7
*/
class PHPUnit_Framework_MockObject_Stub_ReturnReference extends PHPUnit_Framework_MockObject_Stub_Return
{
public function __construct(&$value)
{
$this->value = &$value;
}
}

View File

@@ -1,34 +0,0 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Stubs a method by returning the current object.
*
* @since Class available since Release 1.1.0
*/
class PHPUnit_Framework_MockObject_Stub_ReturnSelf implements PHPUnit_Framework_MockObject_Stub
{
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
{
if (!$invocation instanceof PHPUnit_Framework_MockObject_Invocation_Object) {
throw new PHPUnit_Framework_MockObject_RuntimeException(
'The current object can only be returned when mocking an ' .
'object, not a static class.'
);
}
return $invocation->object;
}
public function toString()
{
return 'return the current object';
}
}

View File

@@ -5,7 +5,7 @@
private $__phpunit_configurable = {configurable};
{clone}{mocked_methods}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
@@ -18,7 +18,7 @@
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,7 +1,7 @@
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}

View File

@@ -13,7 +13,7 @@
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'{class_name}', '{method_name}', $arguments, '{return_type}', $this, {clone_arguments}
)
);

View File

@@ -13,7 +13,7 @@
}
$this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'{class_name}', '{method_name}', $arguments, '{return_type}', $this, {clone_arguments}
)
);

View File

@@ -0,0 +1,5 @@
{modifier} function {reference}{method_name}({arguments_decl}){return_delim}{return_type}
{
throw new \PHPUnit\Framework\MockObject\BadMethodCallException('Static method "{method_name}" cannot be invoked on mock object');
}

View File

@@ -13,7 +13,7 @@
}
$this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'{class_name}', '{method_name}', $arguments, '{return_type}', $this, {clone_arguments}
)
);

View File

@@ -13,7 +13,7 @@
}
$this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'{class_name}', '{method_name}', $arguments, '{return_type}', $this, {clone_arguments}
)
);

View File

@@ -0,0 +1,31 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
/**
* Interface for invocations.
*/
interface Invocation
{
/**
* @return mixed Mocked return value.
*/
public function generateReturnValue();
public function getClassName(): string;
public function getMethodName(): string;
public function getParameters(): array;
public function getReturnType(): string;
public function isReturnTypeNullable(): bool;
}

View File

@@ -1,24 +1,23 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Invocation;
/**
* Represents a non-static invocation.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Invocation_Object extends PHPUnit_Framework_MockObject_Invocation_Static
class ObjectInvocation extends StaticInvocation
{
/**
* @var object
*/
public $object;
private $object;
/**
* @param string $className
@@ -34,4 +33,9 @@ class PHPUnit_Framework_MockObject_Invocation_Object extends PHPUnit_Framework_M
$this->object = $object;
}
public function getObject()
{
return $this->object;
}
}

View File

@@ -1,26 +1,29 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Invocation;
use PHPUnit\Framework\MockObject\Generator;
use PHPUnit\Framework\MockObject\Invocation;
use PHPUnit\Framework\SelfDescribing;
use ReflectionObject;
use SebastianBergmann\Exporter\Exporter;
/**
* Represents a static invocation.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Invocation_Static implements PHPUnit_Framework_MockObject_Invocation, PHPUnit_Framework_SelfDescribing
class StaticInvocation implements Invocation, SelfDescribing
{
/**
* @var array
*/
protected static $uncloneableExtensions = [
private static $uncloneableExtensions = [
'mysqli' => true,
'SQLite' => true,
'sqlite3' => true,
@@ -32,7 +35,7 @@ class PHPUnit_Framework_MockObject_Invocation_Static implements PHPUnit_Framewor
/**
* @var array
*/
protected static $uncloneableClasses = [
private static $uncloneableClasses = [
'Closure',
'COMPersistHelper',
'IteratorIterator',
@@ -45,22 +48,27 @@ class PHPUnit_Framework_MockObject_Invocation_Static implements PHPUnit_Framewor
/**
* @var string
*/
public $className;
private $className;
/**
* @var string
*/
public $methodName;
private $methodName;
/**
* @var array
*/
public $parameters;
private $parameters;
/**
* @var string
*/
public $returnType;
private $returnType;
/**
* @var bool
*/
private $isReturnTypeNullable = false;
/**
* @param string $className
@@ -74,6 +82,12 @@ class PHPUnit_Framework_MockObject_Invocation_Static implements PHPUnit_Framewor
$this->className = $className;
$this->methodName = $methodName;
$this->parameters = $parameters;
if (\strpos($returnType, '?') === 0) {
$returnType = \substr($returnType, 1);
$this->isReturnTypeNullable = true;
}
$this->returnType = $returnType;
if (!$cloneObjects) {
@@ -81,71 +95,119 @@ class PHPUnit_Framework_MockObject_Invocation_Static implements PHPUnit_Framewor
}
foreach ($this->parameters as $key => $value) {
if (is_object($value)) {
if (\is_object($value)) {
$this->parameters[$key] = $this->cloneObject($value);
}
}
}
/**
* @return string
*/
public function toString()
public function getClassName(): string
{
$exporter = new Exporter;
return $this->className;
}
return sprintf(
'%s::%s(%s)%s',
$this->className,
$this->methodName,
implode(
', ',
array_map(
[$exporter, 'shortenedExport'],
$this->parameters
)
),
$this->returnType ? sprintf(': %s', $this->returnType) : ''
);
public function getMethodName(): string
{
return $this->methodName;
}
public function getParameters(): array
{
return $this->parameters;
}
public function getReturnType(): string
{
return $this->returnType;
}
public function isReturnTypeNullable(): bool
{
return $this->isReturnTypeNullable;
}
/**
* @return mixed Mocked return value.
* @return mixed Mocked return value
*
* @throws \ReflectionException
* @throws \PHPUnit\Framework\MockObject\RuntimeException
* @throws \PHPUnit\Framework\Exception
*/
public function generateReturnValue()
{
switch ($this->returnType) {
case '': return;
case 'string': return '';
case 'float': return 0.0;
case 'int': return 0;
case 'bool': return false;
case 'array': return [];
case 'void': return;
if ($this->isReturnTypeNullable) {
return;
}
switch (\strtolower($this->returnType)) {
case '':
case 'void':
return;
case 'string':
return '';
case 'float':
return 0.0;
case 'int':
return 0;
case 'bool':
return false;
case 'array':
return [];
case 'object':
return new \stdClass;
case 'callable':
case 'Closure':
return function () {};
case 'closure':
return function () {
};
case 'Traversable':
case 'Generator':
$generator = function () { yield; };
case 'traversable':
case 'generator':
case 'iterable':
$generator = function () {
yield;
};
return $generator();
default:
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new Generator;
return $generator->getMock($this->returnType, [], [], '', false);
}
}
public function toString(): string
{
$exporter = new Exporter;
return \sprintf(
'%s::%s(%s)%s',
$this->className,
$this->methodName,
\implode(
', ',
\array_map(
[$exporter, 'shortenedExport'],
$this->parameters
)
),
$this->returnType ? \sprintf(': %s', $this->returnType) : ''
);
}
/**
* @param object $original
*
* @return object
*/
protected function cloneObject($original)
private function cloneObject($original)
{
$cloneable = null;
$object = new ReflectionObject($original);
@@ -161,12 +223,13 @@ class PHPUnit_Framework_MockObject_Invocation_Static implements PHPUnit_Framewor
foreach (self::$uncloneableClasses as $class) {
if ($original instanceof $class) {
$cloneable = false;
break;
}
}
}
if ($cloneable === null && method_exists($object, 'isCloneable')) {
if ($cloneable === null) {
$cloneable = $object->isCloneable();
}
@@ -182,7 +245,7 @@ class PHPUnit_Framework_MockObject_Invocation_Static implements PHPUnit_Framewor
if ($cloneable) {
try {
return clone $original;
} catch (Exception $e) {
} catch (\Exception $e) {
return $original;
}
} else {

View File

@@ -1,33 +1,39 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
use Exception;
use PHPUnit\Framework\MockObject\Builder\InvocationMocker as BuilderInvocationMocker;
use PHPUnit\Framework\MockObject\Builder\Match;
use PHPUnit\Framework\MockObject\Builder\NamespaceMatch;
use PHPUnit\Framework\MockObject\Matcher\Invocation as MatcherInvocation;
use PHPUnit\Framework\MockObject\Stub\MatcherCollection;
/**
* Mocker for invocations which are sent from
* PHPUnit_Framework_MockObject_MockObject objects.
* MockObject objects.
*
* Keeps track of all expectations and stubs as well as registering
* identifications for builders.
*
* @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
class InvocationMocker implements MatcherCollection, Invokable, NamespaceMatch
{
/**
* @var PHPUnit_Framework_MockObject_Matcher_Invocation[]
* @var MatcherInvocation[]
*/
protected $matchers = [];
private $matchers = [];
/**
* @var PHPUnit_Framework_MockObject_Builder_Match[]
* @var Match[]
*/
protected $builderMap = [];
private $builderMap = [];
/**
* @var string[]
@@ -43,16 +49,13 @@ class PHPUnit_Framework_MockObject_InvocationMocker implements PHPUnit_Framework
}
/**
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
* @param MatcherInvocation $matcher
*/
public function addMatcher(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function addMatcher(MatcherInvocation $matcher)
{
$this->matchers[] = $matcher;
}
/**
* @since Method available since Release 1.1.0
*/
public function hasMatchers()
{
foreach ($this->matchers as $matcher) {
@@ -79,15 +82,15 @@ class PHPUnit_Framework_MockObject_InvocationMocker implements PHPUnit_Framework
}
/**
* @param mixed $id
* @param PHPUnit_Framework_MockObject_Builder_Match $builder
* @param mixed $id
* @param Match $builder
*
* @throws PHPUnit_Framework_MockObject_RuntimeException
* @throws RuntimeException
*/
public function registerId($id, PHPUnit_Framework_MockObject_Builder_Match $builder)
public function registerId($id, Match $builder)
{
if (isset($this->builderMap[$id])) {
throw new PHPUnit_Framework_MockObject_RuntimeException(
throw new RuntimeException(
'Match builder with id <' . $id . '> is already registered.'
);
}
@@ -96,13 +99,13 @@ class PHPUnit_Framework_MockObject_InvocationMocker implements PHPUnit_Framework
}
/**
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
* @param MatcherInvocation $matcher
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
* @return BuilderInvocationMocker
*/
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(MatcherInvocation $matcher)
{
return new PHPUnit_Framework_MockObject_Builder_InvocationMocker(
return new BuilderInvocationMocker(
$this,
$matcher,
$this->configurableMethods
@@ -110,13 +113,13 @@ class PHPUnit_Framework_MockObject_InvocationMocker implements PHPUnit_Framework
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param Invocation $invocation
*
* @return mixed
*
* @throws Exception
*/
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
public function invoke(Invocation $invocation)
{
$exception = null;
$hasReturnValue = false;
@@ -143,7 +146,9 @@ class PHPUnit_Framework_MockObject_InvocationMocker implements PHPUnit_Framework
if ($hasReturnValue) {
return $returnValue;
} elseif (strtolower($invocation->methodName) == '__tostring') {
}
if (\strtolower($invocation->getMethodName()) === '__tostring') {
return '';
}
@@ -151,11 +156,11 @@ class PHPUnit_Framework_MockObject_InvocationMocker implements PHPUnit_Framework
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param Invocation $invocation
*
* @return bool
*/
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
public function matches(Invocation $invocation)
{
foreach ($this->matchers as $matcher) {
if (!$matcher->matches($invocation)) {
@@ -168,6 +173,8 @@ class PHPUnit_Framework_MockObject_InvocationMocker implements PHPUnit_Framework
/**
* @return bool
*
* @throws \PHPUnit\Framework\ExpectationFailedException
*/
public function verify()
{

View File

@@ -1,39 +1,38 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
/**
* Interface for classes which can be invoked.
*
* The invocation will be taken from a mock object and passed to an object
* of this class.
*
* @since Interface available since Release 1.0.0
*/
interface PHPUnit_Framework_MockObject_Invokable extends PHPUnit_Framework_MockObject_Verifiable
interface Invokable extends 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
* @param Invocation $invocation The invocation object passed from mock object
*
* @return object
*/
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation);
public function invoke(Invocation $invocation);
/**
* Checks if the invocation matches.
*
* @param PHPUnit_Framework_MockObject_Invocation $invocation The invocation object passed from mock object
* @param Invocation $invocation The invocation object passed from mock object
*
* @return bool
*/
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation);
public function matches(Invocation $invocation);
}

View File

@@ -1,12 +1,22 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
use PHPUnit\Framework\MockObject\Matcher\AnyParameters;
use PHPUnit\Framework\MockObject\Matcher\Invocation as MatcherInvocation;
use PHPUnit\Framework\MockObject\Matcher\InvokedCount;
use PHPUnit\Framework\MockObject\Matcher\MethodName;
use PHPUnit\Framework\MockObject\Matcher\Parameters;
use PHPUnit\Framework\TestFailure;
/**
* Main matcher which defines a full expectation using method, parameter and
@@ -16,49 +26,269 @@
* where() etc.).
*
* All properties are public so that they can easily be accessed by the builder.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Matcher implements PHPUnit_Framework_MockObject_Matcher_Invocation
class Matcher implements MatcherInvocation
{
/**
* @var PHPUnit_Framework_MockObject_Matcher_Invocation
* @var MatcherInvocation
*/
public $invocationMatcher;
private $invocationMatcher;
/**
* @var mixed
*/
public $afterMatchBuilderId = null;
private $afterMatchBuilderId = null;
/**
* @var bool
*/
public $afterMatchBuilderIsInvoked = false;
private $afterMatchBuilderIsInvoked = false;
/**
* @var PHPUnit_Framework_MockObject_Matcher_MethodName
* @var MethodName
*/
public $methodNameMatcher = null;
private $methodNameMatcher = null;
/**
* @var PHPUnit_Framework_MockObject_Matcher_Parameters
* @var Parameters
*/
public $parametersMatcher = null;
private $parametersMatcher = null;
/**
* @var PHPUnit_Framework_MockObject_Stub
* @var Stub
*/
public $stub = null;
private $stub = null;
/**
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher
* @param MatcherInvocation $invocationMatcher
*/
public function __construct(PHPUnit_Framework_MockObject_Matcher_Invocation $invocationMatcher)
public function __construct(MatcherInvocation $invocationMatcher)
{
$this->invocationMatcher = $invocationMatcher;
}
public function hasMatchers(): bool
{
return $this->invocationMatcher !== null && !$this->invocationMatcher instanceof AnyInvokedCount;
}
public function hasMethodNameMatcher(): bool
{
return $this->methodNameMatcher !== null;
}
public function getMethodNameMatcher(): MethodName
{
return $this->methodNameMatcher;
}
public function setMethodNameMatcher(MethodName $matcher)
{
$this->methodNameMatcher = $matcher;
}
public function hasParametersMatcher(): bool
{
return $this->parametersMatcher !== null;
}
public function getParametersMatcher(): Parameters
{
return $this->parametersMatcher;
}
public function setParametersMatcher($matcher)
{
$this->parametersMatcher = $matcher;
}
public function setStub($stub)
{
$this->stub = $stub;
}
public function setAfterMatchBuilderId($id)
{
$this->afterMatchBuilderId = $id;
}
/**
* @param Invocation $invocation
*
* @return mixed
*
* @throws \Exception
* @throws RuntimeException
* @throws ExpectationFailedException
*/
public function invoked(Invocation $invocation)
{
if ($this->invocationMatcher === null) {
throw new RuntimeException(
'No invocation matcher is set'
);
}
if ($this->methodNameMatcher === null) {
throw new RuntimeException('No method matcher is set');
}
if ($this->afterMatchBuilderId !== null) {
$builder = $invocation->getObject()
->__phpunit_getInvocationMocker()
->lookupId($this->afterMatchBuilderId);
if (!$builder) {
throw new RuntimeException(
\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 (ExpectationFailedException $e) {
throw new 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 $invocation->generateReturnValue();
}
/**
* @param Invocation $invocation
*
* @return bool
*
* @throws RuntimeException
* @throws ExpectationFailedException
*/
public function matches(Invocation $invocation)
{
if ($this->afterMatchBuilderId !== null) {
$builder = $invocation->getObject()
->__phpunit_getInvocationMocker()
->lookupId($this->afterMatchBuilderId);
if (!$builder) {
throw new RuntimeException(
\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 RuntimeException(
'No invocation matcher is set'
);
}
if ($this->methodNameMatcher === null) {
throw new RuntimeException('No method matcher is set');
}
if (!$this->invocationMatcher->matches($invocation)) {
return false;
}
try {
if (!$this->methodNameMatcher->matches($invocation)) {
return false;
}
} catch (ExpectationFailedException $e) {
throw new ExpectationFailedException(
\sprintf(
"Expectation failed for %s when %s\n%s",
$this->methodNameMatcher->toString(),
$this->invocationMatcher->toString(),
$e->getMessage()
),
$e->getComparisonFailure()
);
}
return true;
}
/**
* @throws RuntimeException
* @throws ExpectationFailedException
*/
public function verify()
{
if ($this->invocationMatcher === null) {
throw new RuntimeException(
'No invocation matcher is set'
);
}
if ($this->methodNameMatcher === null) {
throw new RuntimeException('No method matcher is set');
}
try {
$this->invocationMatcher->verify();
if ($this->parametersMatcher === null) {
$this->parametersMatcher = new AnyParameters;
}
$invocationIsAny = $this->invocationMatcher instanceof AnyInvokedCount;
$invocationIsNever = $this->invocationMatcher instanceof InvokedCount && $this->invocationMatcher->isNever();
if (!$invocationIsAny && !$invocationIsNever) {
$this->parametersMatcher->verify();
}
} catch (ExpectationFailedException $e) {
throw new ExpectationFailedException(
\sprintf(
"Expectation failed for %s when %s.\n%s",
$this->methodNameMatcher->toString(),
$this->invocationMatcher->toString(),
TestFailure::exceptionToString($e)
)
);
}
}
/**
* @return string
*/
@@ -86,189 +316,6 @@ class PHPUnit_Framework_MockObject_Matcher implements PHPUnit_Framework_MockObje
$list[] = 'will ' . $this->stub->toString();
}
return implode(' ', $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_MockObject_RuntimeException(
'No invocation matcher is set'
);
}
if ($this->methodNameMatcher === null) {
throw new PHPUnit_Framework_MockObject_RuntimeException('No method matcher is set');
}
if ($this->afterMatchBuilderId !== null) {
$builder = $invocation->object
->__phpunit_getInvocationMocker()
->lookupId($this->afterMatchBuilderId);
if (!$builder) {
throw new PHPUnit_Framework_MockObject_RuntimeException(
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 $invocation->generateReturnValue();
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
*
* @return bool
*/
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_MockObject_RuntimeException(
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_MockObject_RuntimeException(
'No invocation matcher is set'
);
}
if ($this->methodNameMatcher === null) {
throw new PHPUnit_Framework_MockObject_RuntimeException('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_MockObject_RuntimeException
* @throws PHPUnit_Framework_ExpectationFailedException
*/
public function verify()
{
if ($this->invocationMatcher === null) {
throw new PHPUnit_Framework_MockObject_RuntimeException(
'No invocation matcher is set'
);
}
if ($this->methodNameMatcher === null) {
throw new PHPUnit_Framework_MockObject_RuntimeException('No method matcher is set');
}
try {
$this->invocationMatcher->verify();
if ($this->parametersMatcher === null) {
$this->parametersMatcher = new PHPUnit_Framework_MockObject_Matcher_AnyParameters;
}
$invocationIsAny = $this->invocationMatcher instanceof PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$invocationIsNever = $this->invocationMatcher instanceof PHPUnit_Framework_MockObject_Matcher_InvokedCount && $this->invocationMatcher->isNever();
if (!$invocationIsAny && !$invocationIsNever) {
$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(),
PHPUnit_Framework_TestFailure::exceptionToString($e)
)
);
}
}
/**
* @since Method available since Release 1.2.4
*/
public function hasMatchers()
{
if ($this->invocationMatcher !== null &&
!$this->invocationMatcher instanceof PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount) {
return true;
}
return false;
return \implode(' ', $list);
}
}

View File

@@ -1,20 +1,19 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
/**
* Invocation matcher which checks if a method has been invoked zero or more
* times. This matcher will always match.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
class AnyInvokedCount extends InvokedRecorder
{
/**
* @return string
@@ -24,8 +23,6 @@ class PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount extends PHPUnit_Frame
return 'invoked zero or more times';
}
/**
*/
public function verify()
{
}

View File

@@ -1,19 +1,20 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
/**
* Invocation matcher which allows any parameters to a method.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Matcher_AnyParameters extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
class AnyParameters extends StatelessInvocation
{
/**
* @return string
@@ -24,11 +25,11 @@ class PHPUnit_Framework_MockObject_Matcher_AnyParameters extends PHPUnit_Framewo
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param BaseInvocation $invocation
*
* @return bool
*/
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
public function matches(BaseInvocation $invocation)
{
return true;
}

View File

@@ -1,12 +1,18 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\Constraint\Constraint;
use PHPUnit\Framework\Constraint\IsEqual;
use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
/**
* Invocation matcher which looks for sets of specific parameters in the invocations.
@@ -18,7 +24,7 @@
* It takes a list of match groups and and increases a call index after each invocation.
* So the first invocation uses the first group of constraints, the second the next and so on.
*/
class PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
class ConsecutiveParameters extends StatelessInvocation
{
/**
* @var array
@@ -32,13 +38,15 @@ class PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters extends PHPUnit
/**
* @param array $parameterGroups
*
* @throws \PHPUnit\Framework\Exception
*/
public function __construct(array $parameterGroups)
{
foreach ($parameterGroups as $index => $parameters) {
foreach ($parameters as $parameter) {
if (!$parameter instanceof PHPUnit_Framework_Constraint) {
$parameter = new PHPUnit_Framework_Constraint_IsEqual($parameter);
if (!$parameter instanceof Constraint) {
$parameter = new IsEqual($parameter);
}
$this->parameterGroups[$index][] = $parameter;
@@ -51,20 +59,20 @@ class PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters extends PHPUnit
*/
public function toString()
{
$text = 'with consecutive parameters';
return $text;
return 'with consecutive parameters';
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param BaseInvocation $invocation
*
* @return bool
*
* @throws \PHPUnit\Framework\ExpectationFailedException
*/
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
public function matches(BaseInvocation $invocation)
{
$this->invocations[] = $invocation;
$callIndex = count($this->invocations) - 1;
$callIndex = \count($this->invocations) - 1;
$this->verifyInvocation($invocation, $callIndex);
@@ -81,12 +89,12 @@ class PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters extends PHPUnit
/**
* Verify a single invocation
*
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param int $callIndex
* @param BaseInvocation $invocation
* @param int $callIndex
*
* @throws PHPUnit_Framework_ExpectationFailedException
* @throws ExpectationFailedException
*/
private function verifyInvocation(PHPUnit_Framework_MockObject_Invocation $invocation, $callIndex)
private function verifyInvocation(BaseInvocation $invocation, $callIndex)
{
if (isset($this->parameterGroups[$callIndex])) {
$parameters = $this->parameterGroups[$callIndex];
@@ -96,14 +104,14 @@ class PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters extends PHPUnit
}
if ($invocation === null) {
throw new PHPUnit_Framework_ExpectationFailedException(
throw new ExpectationFailedException(
'Mocked method does not exist.'
);
}
if (count($invocation->parameters) < count($parameters)) {
throw new PHPUnit_Framework_ExpectationFailedException(
sprintf(
if (\count($invocation->getParameters()) < \count($parameters)) {
throw new ExpectationFailedException(
\sprintf(
'Parameter count for invocation %s is too low.',
$invocation->toString()
)
@@ -112,8 +120,8 @@ class PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters extends PHPUnit
foreach ($parameters as $i => $parameter) {
$parameter->evaluate(
$invocation->parameters[$i],
sprintf(
$invocation->getParameters()[$i],
\sprintf(
'Parameter %s for invocation #%d %s does not match expected ' .
'value.',
$i,

View File

@@ -1,20 +1,23 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
use PHPUnit\Framework\MockObject\Verifiable;
use PHPUnit\Framework\SelfDescribing;
/**
* Interface for classes which matches an invocation based on its
* method name, argument, order or call count.
*
* @since Interface available since Release 1.0.0
*/
interface PHPUnit_Framework_MockObject_Matcher_Invocation extends PHPUnit_Framework_SelfDescribing, PHPUnit_Framework_MockObject_Verifiable
interface Invocation extends SelfDescribing, Verifiable
{
/**
* Registers the invocation $invocation in the object as being invoked.
@@ -27,20 +30,20 @@ interface PHPUnit_Framework_MockObject_Matcher_Invocation extends PHPUnit_Framew
*
* 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
* @param BaseInvocation $invocation Object containing information on a mocked or stubbed method which was invoked
*
* @return mixed
*/
public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation);
public function invoked(BaseInvocation $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
* @param BaseInvocation $invocation Object containing information on a mocked or stubbed method which was invoked
*
* @return bool
*/
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation);
public function matches(BaseInvocation $invocation);
}

View File

@@ -1,12 +1,16 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
/**
* Invocation matcher which checks if a method was invoked at a certain index.
@@ -17,20 +21,18 @@
* verifying.
*
* If the index is never reached it will throw an exception in index.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex implements PHPUnit_Framework_MockObject_Matcher_Invocation
class InvokedAtIndex implements Invocation
{
/**
* @var int
*/
protected $sequenceIndex;
private $sequenceIndex;
/**
* @var int
*/
protected $currentIndex = -1;
private $currentIndex = -1;
/**
* @param int $sequenceIndex
@@ -49,11 +51,11 @@ class PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex implements PHPUnit_Fra
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param BaseInvocation $invocation
*
* @return bool
*/
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
public function matches(BaseInvocation $invocation)
{
$this->currentIndex++;
@@ -61,9 +63,9 @@ class PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex implements PHPUnit_Fra
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param BaseInvocation $invocation
*/
public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
public function invoked(BaseInvocation $invocation)
{
}
@@ -71,13 +73,13 @@ class PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex implements PHPUnit_Fra
* 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
* @throws ExpectationFailedException
*/
public function verify()
{
if ($this->currentIndex < $this->sequenceIndex) {
throw new PHPUnit_Framework_ExpectationFailedException(
sprintf(
throw new ExpectationFailedException(
\sprintf(
'The expected invocation at index %s was never reached.',
$this->sequenceIndex
)

View File

@@ -1,20 +1,21 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\ExpectationFailedException;
/**
* Invocation matcher which checks if a method has been invoked at least
* N times.
*
* @since Class available since Release 2.2.0
*/
class PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
class InvokedAtLeastCount extends InvokedRecorder
{
/**
* @var int
@@ -41,14 +42,14 @@ class PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount extends PHPUnit_F
* 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
* @throws ExpectationFailedException
*/
public function verify()
{
$count = $this->getInvocationCount();
if ($count < $this->requiredInvocations) {
throw new PHPUnit_Framework_ExpectationFailedException(
throw new ExpectationFailedException(
'Expected invocation at least ' . $this->requiredInvocations .
' times but it occurred ' . $count . ' time(s).'
);

View File

@@ -1,22 +1,23 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\ExpectationFailedException;
/**
* Invocation matcher which checks if a method has been invoked at least one
* time.
*
* If the number of invocations is 0 it will throw an exception in verify.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
class InvokedAtLeastOnce extends InvokedRecorder
{
/**
* @return string
@@ -30,14 +31,14 @@ class PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce extends PHPUnit_Fr
* 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
* @throws ExpectationFailedException
*/
public function verify()
{
$count = $this->getInvocationCount();
if ($count < 1) {
throw new PHPUnit_Framework_ExpectationFailedException(
throw new ExpectationFailedException(
'Expected invocation at least once but it never occurred.'
);
}

View File

@@ -1,20 +1,21 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\ExpectationFailedException;
/**
* Invocation matcher which checks if a method has been invoked at least
* N times.
*
* @since Class available since Release 2.2.0
*/
class PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
class InvokedAtMostCount extends InvokedRecorder
{
/**
* @var int
@@ -41,14 +42,14 @@ class PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount extends PHPUnit_Fr
* 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
* @throws ExpectationFailedException
*/
public function verify()
{
$count = $this->getInvocationCount();
if ($count > $this->allowedInvocations) {
throw new PHPUnit_Framework_ExpectationFailedException(
throw new ExpectationFailedException(
'Expected invocation at most ' . $this->allowedInvocations .
' times but it occurred ' . $count . ' time(s).'
);

View File

@@ -1,12 +1,16 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
/**
* Invocation matcher which checks if a method has been invoked a certain amount
@@ -15,15 +19,13 @@
* exception,
* If the number is less it will later be checked in verify() and also throw an
* exception.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Matcher_InvokedCount extends PHPUnit_Framework_MockObject_Matcher_InvokedRecorder
class InvokedCount extends InvokedRecorder
{
/**
* @var int
*/
protected $expectedCount;
private $expectedCount;
/**
* @param int $expectedCount
@@ -38,7 +40,7 @@ class PHPUnit_Framework_MockObject_Matcher_InvokedCount extends PHPUnit_Framewor
*/
public function isNever()
{
return $this->expectedCount == 0;
return $this->expectedCount === 0;
}
/**
@@ -50,11 +52,11 @@ class PHPUnit_Framework_MockObject_Matcher_InvokedCount extends PHPUnit_Framewor
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param BaseInvocation $invocation
*
* @throws PHPUnit_Framework_ExpectationFailedException
* @throws ExpectationFailedException
*/
public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
public function invoked(BaseInvocation $invocation)
{
parent::invoked($invocation);
@@ -64,25 +66,24 @@ class PHPUnit_Framework_MockObject_Matcher_InvokedCount extends PHPUnit_Framewor
$message = $invocation->toString() . ' ';
switch ($this->expectedCount) {
case 0: {
case 0:
$message .= 'was not expected to be called.';
}
break;
case 1: {
break;
case 1:
$message .= 'was not expected to be called more than once.';
}
break;
default: {
$message .= sprintf(
break;
default:
$message .= \sprintf(
'was not expected to be called more than %d times.',
$this->expectedCount
);
}
}
throw new PHPUnit_Framework_ExpectationFailedException($message);
throw new ExpectationFailedException($message);
}
}
@@ -90,15 +91,15 @@ class PHPUnit_Framework_MockObject_Matcher_InvokedCount extends PHPUnit_Framewor
* 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
* @throws ExpectationFailedException
*/
public function verify()
{
$count = $this->getInvocationCount();
if ($count !== $this->expectedCount) {
throw new PHPUnit_Framework_ExpectationFailedException(
sprintf(
throw new ExpectationFailedException(
\sprintf(
'Method was expected to be called %d times, ' .
'actually called %d times.',
$this->expectedCount,

View File

@@ -1,39 +1,39 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
/**
* Records invocations and provides convenience methods for checking them later
* on.
* This abstract class can be implemented by matchers which needs to check the
* number of times an invocation has occurred.
*
* @since Class available since Release 1.0.0
* @abstract
*/
abstract class PHPUnit_Framework_MockObject_Matcher_InvokedRecorder implements PHPUnit_Framework_MockObject_Matcher_Invocation
abstract class InvokedRecorder implements Invocation
{
/**
* @var PHPUnit_Framework_MockObject_Invocation[]
* @var BaseInvocation[]
*/
protected $invocations = [];
private $invocations = [];
/**
* @return int
*/
public function getInvocationCount()
{
return count($this->invocations);
return \count($this->invocations);
}
/**
* @return PHPUnit_Framework_MockObject_Invocation[]
* @return BaseInvocation[]
*/
public function getInvocations()
{
@@ -45,23 +45,23 @@ abstract class PHPUnit_Framework_MockObject_Matcher_InvokedRecorder implements P
*/
public function hasBeenInvoked()
{
return count($this->invocations) > 0;
return \count($this->invocations) > 0;
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param BaseInvocation $invocation
*/
public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
public function invoked(BaseInvocation $invocation)
{
$this->invocations[] = $invocation;
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param BaseInvocation $invocation
*
* @return bool
*/
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
public function matches(BaseInvocation $invocation)
{
return true;
}

View File

@@ -1,12 +1,18 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\Constraint\Constraint;
use PHPUnit\Framework\Constraint\IsEqual;
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
use PHPUnit\Util\InvalidArgumentHelper;
/**
* Invocation matcher which looks for a specific method name in the invocations.
@@ -14,29 +20,28 @@
* Checks the method name all incoming invocations, the name is checked against
* the defined constraint $constraint. If the constraint is met it will return
* true in matches().
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Matcher_MethodName extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
class MethodName extends StatelessInvocation
{
/**
* @var PHPUnit_Framework_Constraint
* @var Constraint
*/
protected $constraint;
private $constraint;
/**
* @param PHPUnit_Framework_Constraint|string
* @param Constraint|string
*
* @throws PHPUnit_Framework_Constraint
* @throws Constraint
* @throws \PHPUnit\Framework\Exception
*/
public function __construct($constraint)
{
if (!$constraint instanceof PHPUnit_Framework_Constraint) {
if (!is_string($constraint)) {
throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
if (!$constraint instanceof Constraint) {
if (!\is_string($constraint)) {
throw InvalidArgumentHelper::factory(1, 'string');
}
$constraint = new PHPUnit_Framework_Constraint_IsEqual(
$constraint = new IsEqual(
$constraint,
0,
10,
@@ -57,12 +62,12 @@ class PHPUnit_Framework_MockObject_Matcher_MethodName extends PHPUnit_Framework_
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param BaseInvocation $invocation
*
* @return bool
*/
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
public function matches(BaseInvocation $invocation)
{
return $this->constraint->evaluate($invocation->methodName, '', true);
return $this->constraint->evaluate($invocation->getMethodName(), '', true);
}
}

View File

@@ -1,12 +1,19 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\Constraint\Constraint;
use PHPUnit\Framework\Constraint\IsAnything;
use PHPUnit\Framework\Constraint\IsEqual;
use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
/**
* Invocation matcher which looks for specific parameters in the invocations.
@@ -14,34 +21,34 @@
* Checks the parameters of all incoming invocations, the parameter list is
* checked against the defined constraints in $parameters. If the constraint
* is met it will return true in matches().
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Matcher_Parameters extends PHPUnit_Framework_MockObject_Matcher_StatelessInvocation
class Parameters extends StatelessInvocation
{
/**
* @var PHPUnit_Framework_Constraint[]
* @var Constraint[]
*/
protected $parameters = [];
private $parameters = [];
/**
* @var PHPUnit_Framework_MockObject_Invocation
* @var BaseInvocation
*/
protected $invocation;
private $invocation;
/**
* @var PHPUnit_Framework_ExpectationFailedException
* @var ExpectationFailedException
*/
private $parameterVerificationResult;
/**
* @param array $parameters
*
* @throws \PHPUnit\Framework\Exception
*/
public function __construct(array $parameters)
{
foreach ($parameters as $parameter) {
if (!($parameter instanceof PHPUnit_Framework_Constraint)) {
$parameter = new PHPUnit_Framework_Constraint_IsEqual(
if (!($parameter instanceof Constraint)) {
$parameter = new IsEqual(
$parameter
);
}
@@ -69,11 +76,13 @@ class PHPUnit_Framework_MockObject_Matcher_Parameters extends PHPUnit_Framework_
}
/**
* @param PHPUnit_Framework_MockObject_Invocation $invocation
* @param BaseInvocation $invocation
*
* @return bool
*
* @throws \Exception
*/
public function matches(PHPUnit_Framework_MockObject_Invocation $invocation)
public function matches(BaseInvocation $invocation)
{
$this->invocation = $invocation;
$this->parameterVerificationResult = null;
@@ -82,7 +91,7 @@ class PHPUnit_Framework_MockObject_Matcher_Parameters extends PHPUnit_Framework_
$this->parameterVerificationResult = $this->verify();
return $this->parameterVerificationResult;
} catch (PHPUnit_Framework_ExpectationFailedException $e) {
} catch (ExpectationFailedException $e) {
$this->parameterVerificationResult = $e;
throw $this->parameterVerificationResult;
@@ -96,7 +105,7 @@ class PHPUnit_Framework_MockObject_Matcher_Parameters extends PHPUnit_Framework_
*
* @return bool
*
* @throws PHPUnit_Framework_ExpectationFailedException
* @throws ExpectationFailedException
*/
public function verify()
{
@@ -105,32 +114,30 @@ class PHPUnit_Framework_MockObject_Matcher_Parameters extends PHPUnit_Framework_
}
if ($this->invocation === null) {
throw new PHPUnit_Framework_ExpectationFailedException(
'Mocked method does not exist.'
);
throw new ExpectationFailedException('Mocked method does not exist.');
}
if (count($this->invocation->parameters) < count($this->parameters)) {
if (\count($this->invocation->getParameters()) < \count($this->parameters)) {
$message = 'Parameter count for invocation %s is too low.';
// The user called `->with($this->anything())`, but may have meant
// `->withAnyParameters()`.
//
// @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/199
if (count($this->parameters) === 1 &&
get_class($this->parameters[0]) === 'PHPUnit_Framework_Constraint_IsAnything') {
if (\count($this->parameters) === 1 &&
\get_class($this->parameters[0]) === IsAnything::class) {
$message .= "\nTo allow 0 or more parameters with any value, omit ->with() or use ->withAnyParameters() instead.";
}
throw new PHPUnit_Framework_ExpectationFailedException(
sprintf($message, $this->invocation->toString())
throw new ExpectationFailedException(
\sprintf($message, $this->invocation->toString())
);
}
foreach ($this->parameters as $i => $parameter) {
$parameter->evaluate(
$this->invocation->parameters[$i],
sprintf(
$this->invocation->getParameters()[$i],
\sprintf(
'Parameter %s for invocation %s does not match expected ' .
'value.',
$i,
@@ -145,11 +152,11 @@ class PHPUnit_Framework_MockObject_Matcher_Parameters extends PHPUnit_Framework_
/**
* @return bool
*
* @throws PHPUnit_Framework_ExpectationFailedException
* @throws ExpectationFailedException
*/
private function guardAgainstDuplicateEvaluationOfParameterConstraints()
{
if ($this->parameterVerificationResult instanceof Exception) {
if ($this->parameterVerificationResult instanceof \Exception) {
throw $this->parameterVerificationResult;
}

View File

@@ -1,12 +1,15 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Matcher;
use PHPUnit\Framework\MockObject\Invocation as BaseInvocation;
/**
* Invocation matcher which does not care about previous state from earlier
@@ -14,11 +17,8 @@
*
* This abstract class can be implemented by matchers which does not care about
* state but only the current run-time value of the invocation itself.
*
* @since Class available since Release 1.0.0
* @abstract
*/
abstract class PHPUnit_Framework_MockObject_Matcher_StatelessInvocation implements PHPUnit_Framework_MockObject_Matcher_Invocation
abstract class StatelessInvocation implements Invocation
{
/**
* Registers the invocation $invocation in the object as being invoked.
@@ -31,11 +31,11 @@ abstract class PHPUnit_Framework_MockObject_Matcher_StatelessInvocation implemen
*
* 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
* @param BaseInvocation $invocation Object containing information on a mocked or stubbed method which was invoked
*
* @return mixed
*/
public function invoked(PHPUnit_Framework_MockObject_Invocation $invocation)
public function invoked(BaseInvocation $invocation)
{
}
@@ -44,7 +44,7 @@ abstract class PHPUnit_Framework_MockObject_Matcher_StatelessInvocation implemen
* 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
* @param Invocation $invocation Object containing information on a mocked or stubbed method which was invoked
*
* @return bool
*/

View File

@@ -1,22 +1,23 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
use PHPUnit\Framework\TestCase;
/**
* Implementation of the Builder pattern for Mock objects.
*
* @since File available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_MockBuilder
class MockBuilder
{
/**
* @var PHPUnit_Framework_TestCase
* @var TestCase
*/
private $testCase;
@@ -81,25 +82,25 @@ class PHPUnit_Framework_MockObject_MockBuilder
private $allowMockingUnknownTypes = true;
/**
* @var PHPUnit_Framework_MockObject_Generator
* @var Generator
*/
private $generator;
/**
* @param PHPUnit_Framework_TestCase $testCase
* @param array|string $type
* @param TestCase $testCase
* @param array|string $type
*/
public function __construct(PHPUnit_Framework_TestCase $testCase, $type)
public function __construct(TestCase $testCase, $type)
{
$this->testCase = $testCase;
$this->type = $type;
$this->generator = new PHPUnit_Framework_MockObject_Generator;
$this->generator = new Generator;
}
/**
* Creates a mock object using a fluent interface.
*
* @return PHPUnit_Framework_MockObject_MockObject
* @return MockObject
*/
public function getMock()
{
@@ -125,7 +126,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Creates a mock object for an abstract class using a fluent interface.
*
* @return PHPUnit_Framework_MockObject_MockObject
* @return MockObject
*/
public function getMockForAbstractClass()
{
@@ -148,7 +149,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Creates a mock object for a trait using a fluent interface.
*
* @return PHPUnit_Framework_MockObject_MockObject
* @return MockObject
*/
public function getMockForTrait()
{
@@ -169,11 +170,11 @@ class PHPUnit_Framework_MockObject_MockBuilder
}
/**
* Specifies the subset of methods to mock. Default is to mock all of them.
* Specifies the subset of methods to mock. Default is to mock none of them.
*
* @param array|null $methods
*
* @return PHPUnit_Framework_MockObject_MockBuilder
* @return MockBuilder
*/
public function setMethods(array $methods = null)
{
@@ -187,14 +188,14 @@ class PHPUnit_Framework_MockObject_MockBuilder
*
* @param array $methods
*
* @return PHPUnit_Framework_MockObject_MockBuilder
* @return MockBuilder
*/
public function setMethodsExcept(array $methods = [])
{
$this->methodsExcept = $methods;
$this->setMethods(
array_diff(
\array_diff(
$this->generator->getClassMethods($this->type),
$this->methodsExcept
)
@@ -208,7 +209,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
*
* @param array $args
*
* @return PHPUnit_Framework_MockObject_MockBuilder
* @return MockBuilder
*/
public function setConstructorArgs(array $args)
{
@@ -222,7 +223,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
*
* @param string $name
*
* @return PHPUnit_Framework_MockObject_MockBuilder
* @return MockBuilder
*/
public function setMockClassName($name)
{
@@ -234,7 +235,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Disables the invocation of the original constructor.
*
* @return PHPUnit_Framework_MockObject_MockBuilder
* @return MockBuilder
*/
public function disableOriginalConstructor()
{
@@ -246,9 +247,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Enables the invocation of the original constructor.
*
* @return PHPUnit_Framework_MockObject_MockBuilder
*
* @since Method available since Release 1.2.0
* @return MockBuilder
*/
public function enableOriginalConstructor()
{
@@ -260,7 +259,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Disables the invocation of the original clone constructor.
*
* @return PHPUnit_Framework_MockObject_MockBuilder
* @return MockBuilder
*/
public function disableOriginalClone()
{
@@ -272,9 +271,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Enables the invocation of the original clone constructor.
*
* @return PHPUnit_Framework_MockObject_MockBuilder
*
* @since Method available since Release 1.2.0
* @return MockBuilder
*/
public function enableOriginalClone()
{
@@ -286,7 +283,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Disables the use of class autoloading while creating the mock object.
*
* @return PHPUnit_Framework_MockObject_MockBuilder
* @return MockBuilder
*/
public function disableAutoload()
{
@@ -298,9 +295,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Enables the use of class autoloading while creating the mock object.
*
* @return PHPUnit_Framework_MockObject_MockBuilder
*
* @since Method available since Release 1.2.0
* @return MockBuilder
*/
public function enableAutoload()
{
@@ -312,9 +307,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Disables the cloning of arguments passed to mocked methods.
*
* @return PHPUnit_Framework_MockObject_MockBuilder
*
* @since Method available since Release 1.2.0
* @return MockBuilder
*/
public function disableArgumentCloning()
{
@@ -326,9 +319,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Enables the cloning of arguments passed to mocked methods.
*
* @return PHPUnit_Framework_MockObject_MockBuilder
*
* @since Method available since Release 1.2.0
* @return MockBuilder
*/
public function enableArgumentCloning()
{
@@ -340,9 +331,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Enables the invocation of the original methods.
*
* @return PHPUnit_Framework_MockObject_MockBuilder
*
* @since Method available since Release 2.0.0
* @return MockBuilder
*/
public function enableProxyingToOriginalMethods()
{
@@ -354,9 +343,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
/**
* Disables the invocation of the original methods.
*
* @return PHPUnit_Framework_MockObject_MockBuilder
*
* @since Method available since Release 2.0.0
* @return MockBuilder
*/
public function disableProxyingToOriginalMethods()
{
@@ -371,9 +358,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
*
* @param object $object
*
* @return PHPUnit_Framework_MockObject_MockBuilder
*
* @since Method available since Release 2.0.0
* @return MockBuilder
*/
public function setProxyTarget($object)
{
@@ -383,9 +368,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
}
/**
* @return PHPUnit_Framework_MockObject_MockBuilder
*
* @since Method available since Release 3.2.0
* @return MockBuilder
*/
public function allowMockingUnknownTypes()
{
@@ -395,9 +378,7 @@ class PHPUnit_Framework_MockObject_MockBuilder
}
/**
* @return PHPUnit_Framework_MockObject_MockBuilder
*
* @since Method available since Release 3.2.0
* @return MockBuilder
*/
public function disallowMockingUnknownTypes()
{

View File

@@ -1,6 +1,6 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
@@ -8,35 +8,35 @@
* file that was distributed with this source code.
*/
use PHPUnit\Framework\ExpectationFailedException;
use PHPUnit\Framework\MockObject\Builder\InvocationMocker;
use PHPUnit\Framework\MockObject\Matcher\Invocation;
/**
* Interface for all mock objects which are generated by
* PHPUnit_Framework_MockObject_MockBuilder.
* MockBuilder.
*
* @method PHPUnit_Framework_MockObject_Builder_InvocationMocker method($constraint)
*
* @since Interface available since Release 1.0.0
* @method InvocationMocker method($constraint)
*/
interface PHPUnit_Framework_MockObject_MockObject /*extends PHPUnit_Framework_MockObject_Verifiable*/
interface PHPUnit_Framework_MockObject_MockObject /*extends Verifiable*/
{
/**
* Registers a new expectation in the mock object and returns the match
* object which can be infused with further details.
*
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher
* @param Invocation $matcher
*
* @return PHPUnit_Framework_MockObject_Builder_InvocationMocker
* @return InvocationMocker
*/
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher);
public function expects(Invocation $matcher);
/**
* @return PHPUnit_Framework_MockObject_InvocationMocker
*
* @since Method available since Release 2.0.0
* @return InvocationMocker
*/
public function __phpunit_setOriginalObject($originalObject);
/**
* @return PHPUnit_Framework_MockObject_InvocationMocker
* @return InvocationMocker
*/
public function __phpunit_getInvocationMocker();
@@ -44,7 +44,7 @@ interface PHPUnit_Framework_MockObject_MockObject /*extends PHPUnit_Framework_Mo
* 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
* @throws ExpectationFailedException
*/
public function __phpunit_verify();

View File

@@ -1,30 +1,31 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
use PHPUnit\Framework\SelfDescribing;
/**
* An object that stubs the process of a normal method for a mock object.
*
* The stub object will replace the code for the stubbed method and return a
* specific value instead of the original value.
*
* @since Interface available since Release 1.0.0
*/
interface PHPUnit_Framework_MockObject_Stub extends PHPUnit_Framework_SelfDescribing
interface Stub extends SelfDescribing
{
/**
* Fakes the processing of the invocation $invocation by returning a
* specific value.
*
* @param PHPUnit_Framework_MockObject_Invocation $invocation The invocation which was mocked and matched by the current method and argument matchers
* @param Invocation $invocation The invocation which was mocked and matched by the current method and argument matchers
*
* @return mixed
*/
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation);
public function invoke(Invocation $invocation);
}

View File

@@ -1,35 +1,43 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\Invocation;
use PHPUnit\Framework\MockObject\Stub;
use SebastianBergmann\Exporter\Exporter;
/**
* Stubs a method by returning a user-defined stack of values.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls implements PHPUnit_Framework_MockObject_Stub
class ConsecutiveCalls implements Stub
{
protected $stack;
protected $value;
/**
* @var array
*/
private $stack;
public function __construct($stack)
/**
* @var mixed
*/
private $value;
public function __construct(array $stack)
{
$this->stack = $stack;
}
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
public function invoke(Invocation $invocation)
{
$this->value = array_shift($this->stack);
$this->value = \array_shift($this->stack);
if ($this->value instanceof PHPUnit_Framework_MockObject_Stub) {
if ($this->value instanceof Stub) {
$this->value = $this->value->invoke($invocation);
}
@@ -40,7 +48,7 @@ class PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls implements PHPUnit_Fram
{
$exporter = new Exporter;
return sprintf(
return \sprintf(
'return user-specified value %s',
$exporter->export($this->value)
);

View File

@@ -0,0 +1,42 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\Invocation;
use PHPUnit\Framework\MockObject\Stub;
use SebastianBergmann\Exporter\Exporter;
/**
* Stubs a method by raising a user-defined exception.
*/
class Exception implements Stub
{
private $exception;
public function __construct(\Throwable $exception)
{
$this->exception = $exception;
}
public function invoke(Invocation $invocation)
{
throw $this->exception;
}
public function toString()
{
$exporter = new Exporter;
return \sprintf(
'raise user-specified exception %s',
$exporter->export($this->exception)
);
}
}

View File

@@ -1,25 +1,26 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\Matcher\Invocation;
/**
* Stubs a method by returning a user-defined value.
*
* @since Interface available since Release 1.0.0
*/
interface PHPUnit_Framework_MockObject_Stub_MatcherCollection
interface MatcherCollection
{
/**
* Adds a new matcher to the collection which can be used as an expectation
* or a stub.
*
* @param PHPUnit_Framework_MockObject_Matcher_Invocation $matcher Matcher for invocations to mock objects
* @param Invocation $matcher Matcher for invocations to mock objects
*/
public function addMatcher(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher);
public function addMatcher(Invocation $matcher);
}

View File

@@ -0,0 +1,43 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\Invocation;
use PHPUnit\Framework\MockObject\Stub;
/**
* Stubs a method by returning an argument that was passed to the mocked method.
*/
class ReturnArgument implements Stub
{
/**
* @var int
*/
private $argumentIndex;
public function __construct($argumentIndex)
{
$this->argumentIndex = $argumentIndex;
}
public function invoke(Invocation $invocation)
{
if (isset($invocation->getParameters()[$this->argumentIndex])) {
return $invocation->getParameters()[$this->argumentIndex];
}
return;
}
public function toString()
{
return \sprintf('return argument #%d', $this->argumentIndex);
}
}

View File

@@ -0,0 +1,52 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\Invocation;
use PHPUnit\Framework\MockObject\Stub;
class ReturnCallback implements Stub
{
private $callback;
public function __construct($callback)
{
$this->callback = $callback;
}
public function invoke(Invocation $invocation)
{
return \call_user_func_array($this->callback, $invocation->getParameters());
}
public function toString()
{
if (\is_array($this->callback)) {
if (\is_object($this->callback[0])) {
$class = \get_class($this->callback[0]);
$type = '->';
} else {
$class = $this->callback[0];
$type = '::';
}
return \sprintf(
'return result of user defined callback %s%s%s() with the ' .
'passed arguments',
$class,
$type,
$this->callback[1]
);
}
return 'return result of user defined callback ' . $this->callback .
' with the passed arguments';
}
}

View File

@@ -0,0 +1,45 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\Invocation;
use PHPUnit\Framework\MockObject\Stub;
use SebastianBergmann\Exporter\Exporter;
/**
* Stubs a method by returning a user-defined reference to a value.
*/
class ReturnReference implements Stub
{
/**
* @var mixed
*/
private $reference;
public function __construct(&$reference)
{
$this->reference = &$reference;
}
public function invoke(Invocation $invocation)
{
return $this->reference;
}
public function toString()
{
$exporter = new Exporter;
return \sprintf(
'return user-specified reference %s',
$exporter->export($this->reference)
);
}
}

View File

@@ -0,0 +1,38 @@
<?php
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\Invocation;
use PHPUnit\Framework\MockObject\Invocation\ObjectInvocation;
use PHPUnit\Framework\MockObject\RuntimeException;
use PHPUnit\Framework\MockObject\Stub;
/**
* Stubs a method by returning the current object.
*/
class ReturnSelf implements Stub
{
public function invoke(Invocation $invocation)
{
if (!$invocation instanceof ObjectInvocation) {
throw new RuntimeException(
'The current object can only be returned when mocking an ' .
'object, not a static class.'
);
}
return $invocation->getObject();
}
public function toString()
{
return 'return the current object';
}
}

View File

@@ -1,30 +1,34 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\Invocation;
use PHPUnit\Framework\MockObject\Stub;
use SebastianBergmann\Exporter\Exporter;
/**
* Stubs a method by returning a user-defined value.
*
* @since Class available since Release 1.0.0
*/
class PHPUnit_Framework_MockObject_Stub_Return implements PHPUnit_Framework_MockObject_Stub
class ReturnStub implements Stub
{
protected $value;
/**
* @var mixed
*/
private $value;
public function __construct($value)
{
$this->value = $value;
}
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
public function invoke(Invocation $invocation)
{
return $this->value;
}
@@ -33,7 +37,7 @@ class PHPUnit_Framework_MockObject_Stub_Return implements PHPUnit_Framework_Mock
{
$exporter = new Exporter;
return sprintf(
return \sprintf(
'return user-specified value %s',
$exporter->export($this->value)
);

View File

@@ -1,38 +1,44 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\Invocation;
use PHPUnit\Framework\MockObject\Stub;
/**
* Stubs a method by returning a value from a map.
*
* @since Class available since Release 1.1.0
*/
class PHPUnit_Framework_MockObject_Stub_ReturnValueMap implements PHPUnit_Framework_MockObject_Stub
class ReturnValueMap implements Stub
{
protected $valueMap;
/**
* @var array
*/
private $valueMap;
public function __construct(array $valueMap)
{
$this->valueMap = $valueMap;
}
public function invoke(PHPUnit_Framework_MockObject_Invocation $invocation)
public function invoke(Invocation $invocation)
{
$parameterCount = count($invocation->parameters);
$parameterCount = \count($invocation->getParameters());
foreach ($this->valueMap as $map) {
if (!is_array($map) || $parameterCount != count($map) - 1) {
if (!\is_array($map) || $parameterCount !== (\count($map) - 1)) {
continue;
}
$return = array_pop($map);
if ($invocation->parameters === $map) {
$return = \array_pop($map);
if ($invocation->getParameters() === $map) {
return $return;
}
}

View File

@@ -1,25 +1,26 @@
<?php
/*
* This file is part of the PHPUnit_MockObject package.
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace PHPUnit\Framework\MockObject;
use PHPUnit\Framework\ExpectationFailedException;
/**
* Interface for classes which must verify a given expectation.
*
* @since Interface available since Release 1.0.0
*/
interface PHPUnit_Framework_MockObject_Verifiable
interface Verifiable
{
/**
* 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
* @throws ExpectationFailedException
*/
public function verify();
}

View File

@@ -1,5 +1,16 @@
<?php
class Framework_MockObject_Builder_InvocationMockerTest extends PHPUnit_Framework_TestCase
/*
* This file is part of the phpunit-mock-objects package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
use PHPUnit\Framework\TestCase;
class InvocationMockerTest extends TestCase
{
public function testWillReturnWithOneValue()
{

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true, true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true, true)
--FILE--
<?php
trait BaseTrait
@@ -38,9 +38,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -53,7 +53,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -78,7 +78,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'speak', $arguments, '', $this, true
)
);
@@ -86,14 +86,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
return $result;
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -106,7 +106,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -0,0 +1,98 @@
--TEST--
https://github.com/sebastianbergmann/phpunit-mock-objects/issues/397
--FILE--
<?php
class C
{
public function m(?self $other): self
{
}
}
require __DIR__ . '/../../vendor/autoload.php';
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
C::class,
[],
'MockC',
true,
true
);
print $mock['code'];
--EXPECTF--
class MockC extends C implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
private $__phpunit_configurable = ['m'];
public function __clone()
{
$this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
}
public function m(?C $other): C
{
$arguments = array($other);
$count = func_num_args();
if ($count > 1) {
$_arguments = func_get_args();
for ($i = 1; $i < $count; $i++) {
$arguments[] = $_arguments[$i];
}
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'C', 'm', $arguments, 'C', $this, true
)
);
return $result;
}
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
public function __phpunit_setOriginalObject($originalObject)
{
$this->__phpunit_originalObject = $originalObject;
}
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;
}
public function __phpunit_hasMatchers()
{
return $this->__phpunit_getInvocationMocker()->hasMatchers();
}
public function __phpunit_verify($unsetInvocationMocker = true)
{
$this->__phpunit_getInvocationMocker()->verify();
if ($unsetInvocationMocker) {
$this->__phpunit_invocationMocker = null;
}
}
}

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true, true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true, true)
--FILE--
<?php
abstract class Foo
@@ -13,9 +13,9 @@ abstract class Foo
abstract protected function three();
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -28,7 +28,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -53,7 +53,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'one', $arguments, '', $this, true
)
);
@@ -75,7 +75,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'two', $arguments, '', $this, true
)
);
@@ -97,7 +97,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'three', $arguments, '', $this, true
)
);
@@ -105,14 +105,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
return $result;
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -125,7 +125,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true, true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true, true)
--FILE--
<?php
class Foo
@@ -13,9 +13,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -28,7 +28,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -53,7 +53,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'bar', $arguments, '', $this, true
)
);
@@ -75,7 +75,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'baz', $arguments, '', $this, true
)
);
@@ -83,14 +83,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
return $result;
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -103,7 +103,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true)
--FILE--
<?php
class Foo
@@ -9,9 +9,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -23,7 +23,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -35,14 +35,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
parent::__clone();
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -55,7 +55,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true)
--FILE--
<?php
class Foo
@@ -9,9 +9,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -23,7 +23,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -34,14 +34,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
$this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -54,7 +54,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', false)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', false)
--FILE--
<?php
class Foo
@@ -9,9 +9,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -23,7 +23,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -34,14 +34,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
$this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -54,7 +54,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true)
--FILE--
<?php
class Foo
@@ -9,9 +9,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -23,7 +23,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -34,14 +34,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
$this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -54,7 +54,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true)
--FILE--
<?php
interface IFoo
@@ -14,9 +14,9 @@ class Foo implements IFoo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -28,7 +28,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -39,14 +39,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
$this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -59,7 +59,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true)
--FILE--
<?php
interface IFoo
@@ -14,9 +14,9 @@ class Foo implements IFoo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -28,7 +28,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -39,14 +39,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
$this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -59,7 +59,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array('bar'), 'MockFoo', true, true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array('bar'), 'MockFoo', true, true)
--FILE--
<?php
class Foo
@@ -13,9 +13,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -28,7 +28,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -53,7 +53,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'bar', $arguments, '', $this, true
)
);
@@ -61,14 +61,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
return $result;
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -81,7 +81,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('ClassWithDeprecatedMethod', array(), 'MockFoo', TRUE, TRUE)
\PHPUnit\Framework\MockObject\Generator::generate('ClassWithDeprecatedMethod', array(), 'MockFoo', TRUE, TRUE)
--FILE--
<?php
class ClassWithDeprecatedMethod
@@ -15,7 +15,7 @@ class ClassWithDeprecatedMethod
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'ClassWithDeprecatedMethod',
@@ -28,7 +28,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends ClassWithDeprecatedMethod implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends ClassWithDeprecatedMethod implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -55,7 +55,7 @@ class MockFoo extends ClassWithDeprecatedMethod implements PHPUnit_Framework_Moc
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'ClassWithDeprecatedMethod', 'deprecatedMethod', $arguments, '', $this, true
)
);
@@ -63,14 +63,14 @@ class MockFoo extends ClassWithDeprecatedMethod implements PHPUnit_Framework_Moc
return $result;
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -83,7 +83,7 @@ class MockFoo extends ClassWithDeprecatedMethod implements PHPUnit_Framework_Moc
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true, true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true, true)
--FILE--
<?php
class Foo
@@ -9,9 +9,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -24,7 +24,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -49,7 +49,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'method', $arguments, '', $this, true
)
);
@@ -57,7 +57,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
return $result;
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
@@ -70,7 +70,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -0,0 +1,103 @@
--TEST--
\PHPUnit\Framework\MockObject\Generator::generate('ClassWithMethodWithVariadicArguments', array(), 'MockFoo', true, true)
--SKIPIF--
<?php
if (!version_compare(PHP_VERSION, '7.1', '>=')) print 'skip: PHP >= 7.1 required';
?>
--FILE--
<?php
class ClassWithMethodWithNullableTypehintedVariadicArguments
{
public function methodWithNullableTypehintedVariadicArguments($a, ?string ...$parameters)
{
}
}
require __DIR__ . '/../../vendor/autoload.php';
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'ClassWithMethodWithNullableTypehintedVariadicArguments',
array(),
'MockFoo',
true,
true
);
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends ClassWithMethodWithNullableTypehintedVariadicArguments implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
private $__phpunit_configurable = ['methodwithnullabletypehintedvariadicarguments'];
public function __clone()
{
$this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
}
public function methodWithNullableTypehintedVariadicArguments($a, ?string ...$parameters)
{
$arguments = array($a);
$count = func_num_args();
if ($count > 1) {
$_arguments = func_get_args();
for ($i = 1; $i < $count; $i++) {
$arguments[] = $_arguments[$i];
}
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'ClassWithMethodWithNullableTypehintedVariadicArguments', 'methodWithNullableTypehintedVariadicArguments', $arguments, '', $this, true
)
);
return $result;
}
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
public function __phpunit_setOriginalObject($originalObject)
{
$this->__phpunit_originalObject = $originalObject;
}
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;
}
public function __phpunit_hasMatchers()
{
return $this->__phpunit_getInvocationMocker()->hasMatchers();
}
public function __phpunit_verify($unsetInvocationMocker = true)
{
$this->__phpunit_getInvocationMocker()->verify();
if ($unsetInvocationMocker) {
$this->__phpunit_invocationMocker = null;
}
}
}

View File

@@ -0,0 +1,99 @@
--TEST--
\PHPUnit\Framework\MockObject\Generator::generate('ClassWithMethodWithVariadicArguments', array(), 'MockFoo', true, true)
--FILE--
<?php
class ClassWithMethodWithTypehintedVariadicArguments
{
public function methodWithTypehintedVariadicArguments($a, string ...$parameters)
{
}
}
require __DIR__ . '/../../vendor/autoload.php';
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'ClassWithMethodWithTypehintedVariadicArguments',
array(),
'MockFoo',
true,
true
);
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends ClassWithMethodWithTypehintedVariadicArguments implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
private $__phpunit_configurable = ['methodwithtypehintedvariadicarguments'];
public function __clone()
{
$this->__phpunit_invocationMocker = clone $this->__phpunit_getInvocationMocker();
}
public function methodWithTypehintedVariadicArguments($a, string ...$parameters)
{
$arguments = array($a);
$count = func_num_args();
if ($count > 1) {
$_arguments = func_get_args();
for ($i = 1; $i < $count; $i++) {
$arguments[] = $_arguments[$i];
}
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'ClassWithMethodWithTypehintedVariadicArguments', 'methodWithTypehintedVariadicArguments', $arguments, '', $this, true
)
);
return $result;
}
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
public function __phpunit_setOriginalObject($originalObject)
{
$this->__phpunit_originalObject = $originalObject;
}
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;
}
public function __phpunit_hasMatchers()
{
return $this->__phpunit_getInvocationMocker()->hasMatchers();
}
public function __phpunit_verify($unsetInvocationMocker = true)
{
$this->__phpunit_getInvocationMocker()->verify();
if ($unsetInvocationMocker) {
$this->__phpunit_invocationMocker = null;
}
}
}

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('ClassWithMethodWithVariadicArguments', array(), 'MockFoo', true, true)
\PHPUnit\Framework\MockObject\Generator::generate('ClassWithMethodWithVariadicArguments', array(), 'MockFoo', true, true)
--FILE--
<?php
class ClassWithMethodWithVariadicArguments
@@ -9,9 +9,9 @@ class ClassWithMethodWithVariadicArguments
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'ClassWithMethodWithVariadicArguments',
@@ -24,7 +24,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends ClassWithMethodWithVariadicArguments implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends ClassWithMethodWithVariadicArguments implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -49,7 +49,7 @@ class MockFoo extends ClassWithMethodWithVariadicArguments implements PHPUnit_Fr
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'ClassWithMethodWithVariadicArguments', 'methodWithVariadicArguments', $arguments, '', $this, true
)
);
@@ -57,14 +57,14 @@ class MockFoo extends ClassWithMethodWithVariadicArguments implements PHPUnit_Fr
return $result;
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -77,7 +77,7 @@ class MockFoo extends ClassWithMethodWithVariadicArguments implements PHPUnit_Fr
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true, true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true, true)
--FILE--
<?php
interface Foo
@@ -7,9 +7,9 @@ interface Foo
public function bar(Foo $foo);
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -22,7 +22,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo implements PHPUnit_Framework_MockObject_MockObject, Foo
class MockFoo implements PHPUnit\Framework\MockObject\MockObject, Foo
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -47,7 +47,7 @@ class MockFoo implements PHPUnit_Framework_MockObject_MockObject, Foo
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'bar', $arguments, '', $this, true
)
);
@@ -55,14 +55,14 @@ class MockFoo implements PHPUnit_Framework_MockObject_MockObject, Foo
return $result;
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -75,7 +75,7 @@ class MockFoo implements PHPUnit_Framework_MockObject_MockObject, Foo
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('Foo', array(), 'MockFoo', true, true, true)
\PHPUnit\Framework\MockObject\Generator::generate('Foo', array(), 'MockFoo', true, true, true)
--FILE--
<?php
class Foo
@@ -13,9 +13,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'Foo',
@@ -29,7 +29,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -54,7 +54,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'bar', $arguments, '', $this, true
)
);
@@ -76,7 +76,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'Foo', 'baz', $arguments, '', $this, true
)
);
@@ -84,14 +84,14 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
return $result;
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -104,7 +104,7 @@ class MockFoo extends Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', true, true)
\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', array(), 'MockFoo', true, true)
--FILE--
<?php
namespace NS;
@@ -15,9 +15,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new \PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'NS\Foo',
@@ -30,7 +30,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -55,7 +55,7 @@ class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'NS\Foo', 'bar', $arguments, '', $this, true
)
);
@@ -77,7 +77,7 @@ class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
}
$result = $this->__phpunit_getInvocationMocker()->invoke(
new PHPUnit_Framework_MockObject_Invocation_Object(
new \PHPUnit\Framework\MockObject\Invocation\ObjectInvocation(
'NS\Foo', 'baz', $arguments, '', $this, true
)
);
@@ -85,14 +85,14 @@ class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
return $result;
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -105,7 +105,7 @@ class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

View File

@@ -1,5 +1,5 @@
--TEST--
PHPUnit_Framework_MockObject_Generator::generate('NS\Foo', array(), 'MockFoo', true)
\PHPUnit\Framework\MockObject\Generator::generate('NS\Foo', array(), 'MockFoo', true)
--FILE--
<?php
namespace NS;
@@ -11,9 +11,9 @@ class Foo
}
}
require __DIR__ . '/../../../vendor/autoload.php';
require __DIR__ . '/../../vendor/autoload.php';
$generator = new \PHPUnit_Framework_MockObject_Generator;
$generator = new \PHPUnit\Framework\MockObject\Generator;
$mock = $generator->generate(
'NS\Foo',
@@ -25,7 +25,7 @@ $mock = $generator->generate(
print $mock['code'];
?>
--EXPECTF--
class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
class MockFoo extends NS\Foo implements PHPUnit\Framework\MockObject\MockObject
{
private $__phpunit_invocationMocker;
private $__phpunit_originalObject;
@@ -37,14 +37,14 @@ class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
parent::__clone();
}
public function expects(PHPUnit_Framework_MockObject_Matcher_Invocation $matcher)
public function expects(\PHPUnit\Framework\MockObject\Matcher\Invocation $matcher)
{
return $this->__phpunit_getInvocationMocker()->expects($matcher);
}
public function method()
{
$any = new PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount;
$any = new \PHPUnit\Framework\MockObject\Matcher\AnyInvokedCount;
$expects = $this->expects($any);
return call_user_func_array(array($expects, 'method'), func_get_args());
}
@@ -57,7 +57,7 @@ class MockFoo extends NS\Foo implements PHPUnit_Framework_MockObject_MockObject
public function __phpunit_getInvocationMocker()
{
if ($this->__phpunit_invocationMocker === null) {
$this->__phpunit_invocationMocker = new PHPUnit_Framework_MockObject_InvocationMocker($this->__phpunit_configurable);
$this->__phpunit_invocationMocker = new \PHPUnit\Framework\MockObject\InvocationMocker($this->__phpunit_configurable);
}
return $this->__phpunit_invocationMocker;

Some files were not shown because too many files have changed in this diff Show More