| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 | 
							- <?php
 - 
 - /*
 -  This program is free software: you can redistribute it and/or modify
 -  it under the terms of the GNU General Public License as published by
 -  the Free Software Foundation, either version 3 of the License, or
 -  (at your option) any later version.
 -  
 -  This program is distributed in the hope that it will be useful,
 -  but WITHOUT ANY WARRANTY; without even the implied warranty of
 -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 -  GNU General Public License for more details.
 - 
 -  You should have received a copy of the GNU General Public License
 -  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 -  
 -  */
 -  
 - //require 'Yay/ExpectationProvider.php';
 - //require 'Yay/InvocationRecorder.php';
 - //require 'Yay/MockObject.php';
 - //require 'Yay/SimpleInvocation.php';
 - 
 - /**
 -  * Proxies Invocations on a Mock object to the recorder.
 -  * @author Chris Corbyn <chris@w3style.co.uk>
 -  * @package Yay
 -  */
 - class Yay_InvocationProxy implements Yay_ExpectationProvider
 - {
 -   
 -   /**
 -    * The InvocationRecorder which is using this InvocationProxy.
 -    * @var Yay_InvocationRecorder
 -    * @access private
 -    */
 -   private $_recorder;
 -   
 -   /**
 -    * The Mock object where Invocations are recorded from.
 -    * @var Yay_MockObject
 -    * @access private
 -    */
 -   private $_mock;
 -   
 -   /**
 -    * Create a new InvocationProxy for $recorder and $mock.
 -    * @param Yay_InvocationRecorder $recorder
 -    * @param Yay_MockObject $mock
 -    */
 -   public function __construct(Yay_InvocationRecorder $recorder, Yay_MockObject $mock)
 -   {
 -     $this->_recorder = $recorder;
 -     $this->_mock = $mock;
 -   }
 -   
 -   /**
 -    * Direct all invocations to the recorder.
 -    * @param string $method
 -    * @param array $args
 -    * @return Yay_InvocationRecorder
 -    */
 -   public function __call($method, $args)
 -   {
 -     if (is_callable(array($this->_mock, $method)))
 -     {
 -       $invocation = new Yay_SimpleInvocation($this->_mock, $method, $args);
 -       $this->_recorder->recordInvocation($invocation);
 -       return $this->_recorder;
 -     }
 -     elseif (is_callable(array($this->_recorder, $method)))
 -     {
 -       return call_user_func_array(array($this->_recorder, $method), $args);
 -     }
 -     else
 -     {
 -       throw new BadMethodCallException('Mock method ' . $method . ' does not exist');
 -     }
 -   }
 -   
 -   /**
 -    * Returns the Expectation list.
 -    * @return array of Yay_Expectation
 -    */
 -   public function getExpectations()
 -   {
 -     return $this->__call(__FUNCTION__, array());
 -   }
 -   
 - }
 
 
  |