mirror of
https://github.com/smarty-php/smarty.git
synced 2026-04-29 02:03:31 +02:00
c295786e43
* Set $errcontext argument optional to support PHP 8 - Argument is optional and deprecated in PHP 7.2 * Getting ready for PHP8, handling changed error levels/handlers mostly * php5 compat syntax * Updated UndefinedTemplateVarTest for PHP8 (and disabled a check for PHP<5.6) and re-enabled php:nightly in travis config * Attempt to fix travis runs for (almost) all php versions supported * Fix unit tests for php8, force composer to think we are still php7 to pick a supported phpunit and being less specific about an error msg because PHP8 is in active development and the exact wording is changing. * Fixed a unit test that accidentally passed on phpunit < 7 because of sloppy string comparison. * changelog * run travis in xenial where possible for latest php versions. Fix unit tests from freakingo over inconsistent error messages in php8-beta. * Incorporated AnrDaemons suggestions, making composer figure out the required phpunit version instead of specifying it explicitly and removing a unneeded error supression (@). Co-authored-by: Jorge Sá Pereira <me@jorgesapereira.com>
92 lines
2.6 KiB
PHP
92 lines
2.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Smarty PHPunit tests of constants
|
|
*
|
|
* @package PHPunit
|
|
* @author Uwe Tews
|
|
* @runTestsInSeparateProcess
|
|
* @preserveGlobalState disabled
|
|
* @backupStaticAttributes enabled
|
|
*/
|
|
Class TestConst
|
|
{
|
|
const CONSTVAL = 'okay';
|
|
}
|
|
|
|
/**
|
|
* class for constants tests
|
|
*/
|
|
class ConstantsTest extends PHPUnit_Smarty
|
|
{
|
|
public function setUp()
|
|
{
|
|
$this->setUpSmarty(dirname(__FILE__));
|
|
}
|
|
|
|
|
|
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));
|
|
}
|
|
public function testConstantsUndefined()
|
|
{
|
|
$this->smarty->setErrorReporting(E_ALL & ~E_WARNING & ~E_NOTICE);
|
|
$tpl = $this->smarty->createTemplate('string:{$smarty.const.MYCONSTANT2}');
|
|
$this->assertEquals("", $this->smarty->fetch($tpl));
|
|
}
|
|
public function testConstantsUndefined2()
|
|
{
|
|
$this->smarty->setErrorReporting(E_ALL & ~E_WARNING & ~E_NOTICE);
|
|
$tpl = $this->smarty->createTemplate('eval:{$foo = MYCONSTANT2}{$foo}');
|
|
$this->assertEquals("MYCONSTANT2", $this->smarty->fetch($tpl));
|
|
}
|
|
}
|