2020-04-13 15:30:52 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Smarty PHPunit tests of constants
|
|
|
|
|
*
|
2023-01-05 23:06:02 +01:00
|
|
|
|
2020-04-13 15:30:52 +02:00
|
|
|
* @author Uwe Tews
|
2023-01-05 23:06:02 +01:00
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*
|
2020-04-13 15:30:52 +02:00
|
|
|
*/
|
|
|
|
|
Class TestConst
|
|
|
|
|
{
|
|
|
|
|
const CONSTVAL = 'okay';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* class for constants tests
|
|
|
|
|
*/
|
|
|
|
|
class ConstantsTest extends PHPUnit_Smarty
|
|
|
|
|
{
|
2021-10-13 12:15:17 +02:00
|
|
|
public function setUp(): void
|
2020-04-13 15:30:52 +02:00
|
|
|
{
|
2022-09-27 13:03:34 +03:00
|
|
|
$this->setUpSmarty(__DIR__);
|
2020-04-13 15:30:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function testInit()
|
|
|
|
|
{
|
|
|
|
|
$this->cleanDirs();
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* test constants
|
|
|
|
|
*/
|
|
|
|
|
public function testConstants()
|
|
|
|
|
{
|
|
|
|
|
define('MYCONSTANTS', 'hello world');
|
|
|
|
|
$tpl = $this->smarty->createTemplate('eval:{$smarty.const.MYCONSTANTS}');
|
|
|
|
|
$this->assertEquals("hello world", $this->smarty->fetch($tpl));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testConstants2()
|
|
|
|
|
{
|
|
|
|
|
$tpl = $this->smarty->createTemplate('eval:{MYCONSTANTS}');
|
|
|
|
|
$this->assertEquals("hello world", $this->smarty->fetch($tpl));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testConstants3()
|
|
|
|
|
{
|
|
|
|
|
$tpl = $this->smarty->createTemplate('eval:{$x=MYCONSTANTS}{$x}');
|
|
|
|
|
$this->assertEquals("hello world", $this->smarty->fetch($tpl));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testConstants4()
|
|
|
|
|
{
|
|
|
|
|
$tpl = $this->smarty->createTemplate('eval:{TestConst::CONSTVAL}');
|
|
|
|
|
$this->assertEquals("okay", $this->smarty->fetch($tpl));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testConstants5()
|
|
|
|
|
{
|
|
|
|
|
$tpl = $this->smarty->createTemplate('eval:{if TestConst::CONSTVAL == "okay"}yes{/if}');
|
|
|
|
|
$this->assertEquals("yes", $this->smarty->fetch($tpl));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testConstants6()
|
|
|
|
|
{
|
|
|
|
|
$tpl = $this->smarty->createTemplate('eval:{$obj::CONSTVAL}');
|
|
|
|
|
$tpl->assign('obj', new TestConst());
|
|
|
|
|
$this->assertEquals("okay", $this->smarty->fetch($tpl));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testConstants7()
|
|
|
|
|
{
|
|
|
|
|
$tpl = $this->smarty->createTemplate('eval:{if $obj::CONSTVAL == "okay"}yes{/if}');
|
|
|
|
|
$tpl->assign('obj', new TestConst());
|
|
|
|
|
$this->assertEquals("yes", $this->smarty->fetch($tpl));
|
|
|
|
|
}
|
2021-10-13 12:15:17 +02:00
|
|
|
|
2020-04-13 15:30:52 +02:00
|
|
|
public function testConstantsUndefined()
|
|
|
|
|
{
|
|
|
|
|
$tpl = $this->smarty->createTemplate('string:{$smarty.const.MYCONSTANT2}');
|
|
|
|
|
$this->assertEquals("", $this->smarty->fetch($tpl));
|
|
|
|
|
}
|
2021-10-13 12:15:17 +02:00
|
|
|
|
2020-04-13 15:30:52 +02:00
|
|
|
public function testConstantsUndefined2()
|
|
|
|
|
{
|
|
|
|
|
$tpl = $this->smarty->createTemplate('eval:{$foo = MYCONSTANT2}{$foo}');
|
|
|
|
|
$this->assertEquals("MYCONSTANT2", $this->smarty->fetch($tpl));
|
|
|
|
|
}
|
2021-10-13 12:15:17 +02:00
|
|
|
|
|
|
|
|
public function testConstantsUndefined3()
|
|
|
|
|
{
|
|
|
|
|
$tpl = $this->smarty->createTemplate('eval:{if $smarty.const.MYCONSTANT2}{$smarty.const.MYCONSTANT2}{/if}');
|
|
|
|
|
$this->assertEquals("", $this->smarty->fetch($tpl));
|
|
|
|
|
}
|
2020-04-13 15:30:52 +02:00
|
|
|
}
|