[ Index ]

PHP Cross Reference of Limb3

title

Body

[close]

/wact/tests/cases/tags/core/ -> WactCoreSetTagTest.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  class WactCoreSetTagTest extends WactTemplateTestCase
  11  {
  12     function testEmptyReference()
  13     {
  14       $template = '{$Missing}';
  15       $this->registerTestingTemplate('/tags/core/empty_reference.html', $template);
  16  
  17       $page = $this->initTemplate('/tags/core/empty_reference.html');
  18       $output = $page->capture();
  19       $this->assertEqual($output, '');
  20     }
  21  
  22     function testNormalReference()
  23     {
  24       $template = '{$Missing}';
  25       $this->registerTestingTemplate('/tags/core/normal_reference.html', $template);
  26  
  27       $page = $this->initTemplate('/tags/core/normal_reference.html');
  28       $page->set('Missing', 'not');
  29       $output = $page->capture();
  30       $this->assertEqual($output, 'not');
  31     }
  32  
  33     function testEmptySet()
  34     {
  35       $template = '<core:SET/>';
  36       $this->registerTestingTemplate('/tags/core/empty_set.html', $template);
  37  
  38       $page = $this->initTemplate('/tags/core/empty_set.html');
  39       $output = $page->capture();
  40       $this->assertEqual($output, '');
  41     }
  42  
  43     function testSet()
  44     {
  45       $template = '<core:SET var="value">';
  46       $this->registerTestingTemplate('/tags/core/set.html', $template);
  47  
  48       $page = $this->initTemplate('/tags/core/set.html');
  49       $output = $page->capture();
  50       $this->assertEqual($output, '');
  51     }
  52  
  53     function testSetAndReference()
  54     {
  55       $template = '<core:SET Var="value">{$Var}';
  56       $this->registerTestingTemplate('/tags/core/set_and_reference.html', $template);
  57  
  58       $page = $this->initTemplate('/tags/core/set_and_reference.html');
  59       $output = $page->capture();
  60       $this->assertEqual($output, 'value');
  61     }
  62  
  63     function testSetFilterAndReference()
  64     {
  65       $template = '<core:SET Var="value">{$Var|uppercase}';
  66       $this->registerTestingTemplate('/tags/core/set_filter_and_reference.html', $template);
  67  
  68       $page = $this->initTemplate('/tags/core/set_filter_and_reference.html');
  69       $output = $page->capture();
  70       $this->assertEqual($output, 'VALUE');
  71     }
  72  
  73     function testReferenceChain()
  74     {
  75       $template = '<core:SET First="val"><core:SET Second="{$First}">{$First}-{$Second}';
  76       $this->registerTestingTemplate('/tags/core/reference_chain.html', $template);
  77  
  78       $page = $this->initTemplate('/tags/core/reference_chain.html');
  79       $output = $page->capture();
  80       $this->assertEqual($output, 'val-val');
  81     }
  82  
  83     function testSetPrecidence()
  84     {
  85       $template = '<core:SET Var="value">{$Var}';
  86       $this->registerTestingTemplate('/tags/core/set_precidence.html', $template);
  87  
  88       $page = $this->initTemplate('/tags/core/set_precidence.html');
  89       $page->set('Var', 'different value');
  90       $output = $page->capture();
  91       $this->assertEqual($output, 'value');
  92     }
  93  
  94     function testSetWithFilter()
  95     {
  96       $template = '<core:SET Var="{$orig|uppercase}"/>{$Var}';
  97       $this->registerTestingTemplate('/tags/core/set_with_filter.html', $template);
  98  
  99       $page = $this->initTemplate('/tags/core/set_with_filter.html');
 100       $page->set('orig', 'foo');
 101       $output = $page->capture();
 102       $this->assertEqual($output, 'FOO');
 103     }
 104  
 105     function testSetWithFilterSingleQuotes()
 106     {
 107       $template = '<core:SET Var=\'{$orig|uppercase}\'/>{$Var}';
 108       $this->registerTestingTemplate('/tags/core/set_with_filter2.html', $template);
 109  
 110       $page = $this->initTemplate('/tags/core/set_with_filter2.html');
 111       $page->set('orig', 'foo');
 112       $output = $page->capture();
 113       $this->assertEqual($output, 'FOO');
 114     }
 115  
 116     function testSetMultiValues()
 117     {
 118       $template = '<core:SET Var1="{$orig}" Var2="aaa"/>{$Var1}-{$Var2}';
 119       $this->registerTestingTemplate('/tags/core/set_multi.html', $template);
 120  
 121       $page = $this->initTemplate('/tags/core/set_multi.html');
 122       $page->set('orig', 'foo');
 123       $output = $page->capture();
 124       $this->assertEqual($output, 'foo-aaa');
 125     }
 126  
 127     function testValueIsAvailableAtRunTimeStaticBinding()
 128     {
 129       $template = '<core:DATASOURCE id="test"><core:SET var1="value1"/>{$var1}</core:DATASOURCE>';
 130       $this->registerTestingTemplate('/tags/core/set_value_is_available_at_runtime.html', $template);
 131  
 132       $page = $this->initTemplate('/tags/core/set_value_is_available_at_runtime.html');
 133       $datasource = $page->findChild('test');
 134       $output = $page->capture();
 135       $this->assertEqual($output, 'value1');
 136       $this->assertEqual($datasource->get('var1'), 'value1');
 137     }
 138  
 139    function testValueIsAvailableAtRunTimeDynamicBinding()
 140    {
 141      $template = '<core:DATASOURCE id="test"><core:SET var1="{$#value1|uppercase}"/>{$var1}</core:DATASOURCE>';
 142      $this->registerTestingTemplate('/tags/core/set_value_is_available_at_runtime2.html', $template);
 143  
 144      $page = $this->initTemplate('/tags/core/set_value_is_available_at_runtime2.html');
 145      $page->set('value1', 'some_value');
 146      $datasource = $page->findChild('test');
 147      $output = $page->capture();
 148      $this->assertEqual($output, 'SOME_VALUE');
 149      $this->assertEqual($datasource->get('var1'), 'SOME_VALUE');
 150    }
 151  
 152    function testValueIsSetIntoCurrentDataspaceNotJustCurrentComponent()
 153    {
 154      $template = '<core:DATASOURCE id="test"><div wact:id="any"><core:SET var1="5"/>{$var1}</div></core:DATASOURCE>';
 155      $this->registerTestingTemplate('/tags/core/set_value_in_datasource_not_component.html', $template);
 156  
 157      $page = $this->initTemplate('/tags/core/set_value_in_datasource_not_component.html');
 158      $this->assertEqual($page->capture(), '<div>5</div>');
 159    }
 160  
 161    function testGenerateRuntimeExpressionOnlyByDefault()
 162    {
 163      $template = '<core:optional for="{$item1}"><core:SET color="yellow"/></core:optional>'.
 164                  '<core:optional for="{$item2}"><core:SET color="green"/></core:optional>'.
 165                  '{$color}';
 166      $this->registerTestingTemplate('/tags/core/set_value_in_runtime_only.html', $template);
 167  
 168      $page = $this->initTemplate('/tags/core/set_value_in_runtime_only.html');
 169      $page->set('item1', true);
 170      $this->assertEqual($page->capture(), 'yellow');
 171    }
 172  
 173    function testNotGenerateRuntimeExpressionIfSuchAttribute()
 174    {
 175      $template = '<core:optional for="{$item1}"><core:SET color="yellow" runtime="false"/></core:optional>'.
 176                  '<core:optional for="{$item2}"><core:SET color="green" runtime="false"/></core:optional>'.
 177                  '{$color}';
 178      $this->registerTestingTemplate('/tags/core/force_set_value_in_compiletime.html', $template);
 179  
 180      $page = $this->initTemplate('/tags/core/force_set_value_in_compiletime.html');
 181      $page->set('item1', true);
 182      $this->assertEqual($page->capture(), 'green');
 183    }
 184  }
 185  ?>


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