[ Index ]

PHP Cross Reference of Limb3

title

Body

[close]

/wact/tests/cases/compiler/attribute/ -> WactAttributeTest.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  
  10  require_once 'limb/wact/src/compiler/templatecompiler.inc.php';
  11  require_once 'limb/wact/src/compiler/attribute/WactAttribute.class.php';
  12  
  13  Mock::Generate('WactAttributeExpressionFragment', 'MockWactAttributeFragment');
  14  
  15  class WactAttributeTest extends UnitTestCase
  16  {
  17    protected $fragment1;
  18    protected $fragment2;
  19    protected $attribute;
  20  
  21    function setUp()
  22    {
  23      $this->fragment1 = new MockWactAttributeFragment();
  24      $this->fragment2 = new MockWactAttributeFragment();
  25  
  26      $this->attribute = new WactAttribute('test');
  27  
  28      $this->attribute->addFragment($this->fragment1);
  29      $this->attribute->addFragment($this->fragment2);
  30    }
  31  
  32    function testIsConstantAllTrue()
  33    {
  34      $this->fragment1->setReturnValue('IsConstant', TRUE);
  35      $this->fragment1->expectOnce('IsConstant');
  36      $this->fragment2->setReturnValue('IsConstant', TRUE);
  37      $this->fragment2->expectOnce('IsConstant');
  38      $this->assertTrue($this->attribute->isConstant());
  39    }
  40  
  41    function testIsConstantAllFalse()
  42    {
  43      $this->fragment1->setReturnValue('IsConstant', FALSE);
  44      $this->fragment1->expectOnce('IsConstant');
  45      $this->fragment2->setReturnValue('IsConstant', FALSE);
  46      $this->fragment2->expectNever('IsConstant');
  47      $this->assertFalse($this->attribute->isConstant());
  48    }
  49  
  50    function testIsConstantMixed()
  51    {
  52      $this->fragment1->setReturnValue('IsConstant', TRUE);
  53      $this->fragment1->expectOnce('IsConstant');
  54      $this->fragment2->setReturnValue('IsConstant', FALSE);
  55      $this->fragment2->expectOnce('IsConstant');
  56      $this->assertFalse($this->attribute->isConstant());
  57    }
  58  
  59    function testGetValue()
  60    {
  61      $this->fragment1->setReturnValue('getValue', 'Hur');
  62      $this->fragment1->expectOnce('getValue');
  63      $this->fragment2->setReturnValue('getValue', 'rah');
  64      $this->fragment2->expectOnce('getValue');
  65      $this->assertEqual($this->attribute->getValue(), 'Hurrah');
  66    }
  67  
  68    function testGenerate()
  69    {
  70      $code_writer = new WactCodeWriter();
  71  
  72      $this->fragment1->expectOnce('generateFragment', array($code_writer));
  73      $this->fragment2->expectOnce('generateFragment', array($code_writer));
  74  
  75      $this->attribute->generate($code_writer);
  76  
  77      $this->assertEqual($code_writer->renderCode(), ' test=""');
  78    }
  79  
  80    function testGenerateExpression()
  81    {
  82      $code_writer = new WactCodeWriter();
  83  
  84      $this->fragment1->expectOnce('generatePreStatement', array($code_writer));
  85      $this->fragment1->expectOnce('generateExpression', array($code_writer));
  86      $this->fragment1->expectOnce('generatePostStatement', array($code_writer));
  87  
  88      $this->fragment2->expectOnce('generatePreStatement', array($code_writer));
  89      $this->fragment2->expectOnce('generateExpression', array($code_writer));
  90      $this->fragment2->expectOnce('generatePostStatement', array($code_writer));
  91  
  92      $this->attribute->generatePreStatement($code_writer);
  93      $this->attribute->generateExpression($code_writer);
  94      $this->attribute->generatePostStatement($code_writer);
  95  
  96      $this->assertEqual($code_writer->renderCode(), '<?php (.) ?>');
  97    }
  98  
  99    function testPrepare()
 100    {
 101      $this->fragment1->expectOnce('prepare');
 102      $this->fragment2->expectOnce('prepare');
 103  
 104      $this->attribute->prepare();
 105    }
 106  }
 107  
 108  ?>


Generated: Thu Jan 8 04:06:23 2009 Cross-referenced by PHPXref 0.7