| | 290 | |
|---|
| | 291 | protected $varAssign = array( |
|---|
| | 292 | '$aa=$bb'=>'$t->_vars[\'aa\']=$t->_vars[\'bb\']', |
|---|
| | 293 | '$aa+=$bb'=>'$t->_vars[\'aa\']+=$t->_vars[\'bb\']', |
|---|
| | 294 | '$aa-=$bb'=>'$t->_vars[\'aa\']-=$t->_vars[\'bb\']', |
|---|
| | 295 | '$aa/=$bb'=>'$t->_vars[\'aa\']/=$t->_vars[\'bb\']', |
|---|
| | 296 | '$aa*=$bb'=>'$t->_vars[\'aa\']*=$t->_vars[\'bb\']', |
|---|
| | 297 | 'TEST_JTPL_COMPILER_ASSIGN'=>'TEST_JTPL_COMPILER_ASSIGN' |
|---|
| | 298 | ); |
|---|
| | 299 | |
|---|
| | 300 | protected $varAssignUnTrustedMode = array( |
|---|
| | 301 | 'TEST_JTPL_COMPILER_ASSIGN'=>array('jelix~errors.tpl.tag.constant.notallowed',array('','TEST_JTPL_COMPILER_ASSIGN','')), |
|---|
| | 302 | ); |
|---|
| | 303 | |
|---|
| | 304 | |
|---|
| | 305 | function testAssign() { |
|---|
| | 306 | $compil = new testJtplCompiler(); |
|---|
| | 307 | $compil->trusted = true; |
|---|
| | 308 | |
|---|
| | 309 | foreach($this->varAssign as $k=>$t){ |
|---|
| | 310 | try{ |
|---|
| | 311 | $res = $compil->testParseAssignExpr($k); |
|---|
| | 312 | $this->assertEqualOrDiff($t, $res); |
|---|
| | 313 | }catch(jException $e){ |
|---|
| | 314 | $this->fail("Test '$k', Unknown Jelix Exception : ".$e->getMessage().' ('.$e->getLocaleKey().')'); |
|---|
| | 315 | }catch(Exception $e){ |
|---|
| | 316 | $this->fail("Test '$k', Unknown Exception: ".$e->getMessage()); |
|---|
| | 317 | } |
|---|
| | 318 | } |
|---|
| | 319 | |
|---|
| | 320 | $compil->trusted = false; |
|---|
| | 321 | |
|---|
| | 322 | foreach($this->varAssignUnTrustedMode as $k=>$t){ |
|---|
| | 323 | try{ |
|---|
| | 324 | $res = $compil->testParseAssignExpr($k); |
|---|
| | 325 | $this->fail("No Exception for this test '$k' "); |
|---|
| | 326 | }catch(jException $e){ |
|---|
| | 327 | $this->assertEqualOrDiff($t[0], $e->getLocaleKey()); |
|---|
| | 328 | $this->assertEqual($t[1], $e->getLocaleParameters()); |
|---|
| | 329 | }catch(Exception $e){ |
|---|
| | 330 | $this->pass("Unknown Exception: ".$e->getMessage()); |
|---|
| | 331 | } |
|---|
| | 332 | |
|---|
| | 333 | } |
|---|
| | 334 | } |
|---|
| | 335 | |
|---|
| | 336 | |
|---|