[ Index ]

PHP Cross Reference of Limb3

title

Body

[close]

/core/tests/cases/ -> lmbProxyTest.class.php (source)

   1  <?php
   2  /*
   3   * Limb PHP Framework
   4   *
   5   * @link http://limb-project.com 
   6   * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
   7   * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
   8   */
   9  lmb_require('limb/core/src/lmbObject.class.php');
  10  lmb_require('limb/core/src/lmbProxy.class.php');
  11  
  12  class ProxyTestingStub extends lmbProxy
  13  {
  14    var $extra_attrib = 'whatever';
  15    var $original_mock;
  16    var $create_calls = 0;
  17  
  18    function __construct($mock)
  19    {
  20      $this->original_mock = $mock;
  21    }
  22  
  23    protected function _createOriginalObject()
  24    {
  25      $this->create_calls++;
  26      return $this->original_mock;
  27    }
  28  }
  29  
  30  class lmbProxyTest extends UnitTestCase
  31  {
  32    function testAccessAttributesOfWrappedObject()
  33    {
  34      $wrapped = new lmbObject();
  35      $wrapped->wow = 'yahoo';
  36  
  37      $proxy = new ProxyTestingStub($wrapped);
  38  
  39      $this->assertEqual($proxy->wow, 'yahoo');
  40      $proxy->wow = 'ho-ho';
  41      $this->assertEqual($proxy->wow, 'ho-ho');
  42  
  43      $this->assertEqual($proxy->create_calls, 1);
  44    }
  45  
  46    function testPassMethodsCallsToWrappedObject()
  47    {
  48      $wrapped = new lmbObject();
  49      $proxy = new ProxyTestingStub($wrapped);
  50  
  51      $proxy->set('foo', 'Foo');
  52      $this->assertEqual($proxy->get('foo'), 'Foo');
  53  
  54      $this->assertEqual($proxy->create_calls, 1);
  55    }
  56  
  57    function testGetHashDontResolveProxy()
  58    {
  59      $wrapped = new lmbObject();
  60      $proxy = new ProxyTestingStub($wrapped);
  61  
  62      $this->assertNotEqual($proxy->getHash(), $wrapped->getHash());
  63      $this->assertEqual($proxy->create_calls, 0);
  64    }
  65  
  66    function testGetHash()
  67    {
  68      $wrapped = new lmbObject();
  69      $proxy = new ProxyTestingStub($wrapped);
  70  
  71      $this->assertNotEqual($proxy->getHash(), $wrapped->getHash());
  72  
  73      $proxy->changed = true;
  74  
  75      $this->assertEqual($proxy->getHash(), $wrapped->getHash());
  76      $this->assertEqual($proxy->create_calls, 1);
  77    }
  78  
  79    function testGetClass()
  80    {
  81      $wrapped = new lmbObject();
  82      $proxy = new ProxyTestingStub($wrapped);
  83  
  84      $this->assertEqual($proxy->getClass(), $wrapped->getClass());
  85    }
  86  }
  87  
  88  ?>


Generated: Sat Sep 6 04:46:52 2008 Cross-referenced by PHPXref 0.7