[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: ExpectationDirector.php
<?php /** * Mockery * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://github.com/padraic/mockery/blob/master/LICENSE * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to padraic@php.net so we can send you a copy immediately. * * @category Mockery * @package Mockery * @copyright Copyright (c) 2010 Pádraic Brady (http://blog.astrumfutura.com) * @license http://github.com/padraic/mockery/blob/master/LICENSE New BSD License */ namespace Mockery; class ExpectationDirector { /** * Method name the director is directing * * @var string */ protected $_name = null; /** * Mock object the director is attached to * * @var \Mockery\MockInterface|\Mockery\LegacyMockInterface */ protected $_mock = null; /** * Stores an array of all expectations for this mock * * @var array */ protected $_expectations = array(); /** * The expected order of next call * * @var int */ protected $_expectedOrder = null; /** * Stores an array of all default expectations for this mock * * @var array */ protected $_defaults = array(); /** * Constructor * * @param string $name * @param \Mockery\LegacyMockInterface $mock */ public function __construct($name, \Mockery\LegacyMockInterface $mock) { $this->_name = $name; $this->_mock = $mock; } /** * Add a new expectation to the director * * @param \Mockery\Expectation $expectation */ public function addExpectation(\Mockery\Expectation $expectation) { $this->_expectations[] = $expectation; } /** * Handle a method call being directed by this instance * * @param array $args * @return mixed */ public function call(array $args) { $expectation = $this->findExpectation($args); if (is_null($expectation)) { $exception = new \Mockery\Exception\NoMatchingExpectationException( 'No matching handler found for ' . $this->_mock->mockery_getName() . '::' . \Mockery::formatArgs($this->_name, $args) . '. Either the method was unexpected or its arguments matched' . ' no expected argument list for this method' . PHP_EOL . PHP_EOL . \Mockery::formatObjects($args) ); $exception->setMock($this->_mock) ->setMethodName($this->_name) ->setActualArguments($args); throw $exception; } return $expectation->verifyCall($args); } /** * Verify all expectations of the director * * @throws \Mockery\CountValidator\Exception * @return void */ public function verify() { if (!empty($this->_expectations)) { foreach ($this->_expectations as $exp) { $exp->verify(); } } else { foreach ($this->_defaults as $exp) { $exp->verify(); } } } /** * Attempt to locate an expectation matching the provided args * * @param array $args * @return mixed */ public function findExpectation(array $args) { $expectation = null; if (!empty($this->_expectations)) { $expectation = $this->_findExpectationIn($this->_expectations, $args); } if ($expectation === null && !empty($this->_defaults)) { $expectation = $this->_findExpectationIn($this->_defaults, $args); } return $expectation; } /** * Make the given expectation a default for all others assuming it was * correctly created last * * @param \Mockery\Expectation $expectation */ public function makeExpectationDefault(\Mockery\Expectation $expectation) { $last = end($this->_expectations); if ($last === $expectation) { array_pop($this->_expectations); array_unshift($this->_defaults, $expectation); } else { throw new \Mockery\Exception( 'Cannot turn a previously defined expectation into a default' ); } } /** * Search current array of expectations for a match * * @param array $expectations * @param array $args * @return mixed */ protected function _findExpectationIn(array $expectations, array $args) { foreach ($expectations as $exp) { if ($exp->isEligible() && $exp->matchArgs($args)) { return $exp; } } foreach ($expectations as $exp) { if ($exp->matchArgs($args)) { return $exp; } } } /** * Return all expectations assigned to this director * * @return array */ public function getExpectations() { return $this->_expectations; } /** * Return all expectations assigned to this director * * @return array */ public function getDefaultExpectations() { return $this->_defaults; } /** * Return the number of expectations assigned to this director. * * @return int */ public function getExpectationCount() { $count = 0; /** @var Expectation $expectations */ $expectations = $this->getExpectations() ?: $this->getDefaultExpectations(); foreach ($expectations as $expectation) { if ($expectation->isCallCountConstrained()) { $count++; } } return $count; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.73 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002