mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-04 10:24:26 +02:00
Add SmartyBC tests
This commit is contained in:
@@ -0,0 +1,173 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Smarty PHPunit tests register/unregister function plugins
|
||||||
|
*
|
||||||
|
* @package PHPunit
|
||||||
|
* @author Uwe Tews
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* class for register/unregister function plugins methods tests
|
||||||
|
*
|
||||||
|
* @runTestsInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
* @backupStaticAttributes enabled
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class RegisterFunctionBCTest extends PHPUnit_Smarty
|
||||||
|
{
|
||||||
|
public $loadSmartyBC = true;
|
||||||
|
|
||||||
|
public $loadSmarty = false;
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
$this->setUpSmarty(__DIR__);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testInit()
|
||||||
|
{
|
||||||
|
$this->cleanDirs();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test registerPlugin method for function
|
||||||
|
*/
|
||||||
|
public function testRegisterFunction()
|
||||||
|
{
|
||||||
|
$this->smartyBC->register_function('testfunction', 'myfunctionBC');
|
||||||
|
$this->assertEquals('myfunctionBC',
|
||||||
|
$this->smartyBC->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ 'testfunction' ][ 0 ]);
|
||||||
|
$this->assertEquals('hello world 1', $this->smartyBC->fetch('eval:{testfunction value=1}'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test registerPlugin method for function class
|
||||||
|
*/
|
||||||
|
public function testRegisterFunctionClass()
|
||||||
|
{
|
||||||
|
$this->smartyBC->register_function('testfunction', array('myfunctionBCclass', 'execute'));
|
||||||
|
$this->assertEquals('hello world 2', $this->smartyBC->fetch('eval:{testfunction value=2}'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test registerPlugin method for function object
|
||||||
|
*/
|
||||||
|
public function testRegisterFunctionObject()
|
||||||
|
{
|
||||||
|
$myfunctionBC_object = new myfunctionBCclass;
|
||||||
|
$this->smartyBC->register_function('testfunction', array($myfunctionBC_object, 'execute'));
|
||||||
|
$this->assertEquals('hello world 3', $this->smartyBC->fetch('eval:{testfunction value=3}'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test registerPlugin method for function cached
|
||||||
|
*
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*/
|
||||||
|
public function testRegisterFunctionCaching1()
|
||||||
|
{
|
||||||
|
$this->smartyBC->caching = 1;
|
||||||
|
$this->smartyBC->cache_lifetime = 1000;
|
||||||
|
$this->smartyBC->setForceCompile(true);
|
||||||
|
$this->smartyBC->assign('x', 0);
|
||||||
|
$this->smartyBC->assign('y', 10);
|
||||||
|
$this->smartyBC->register_function('testfunction', 'myfunctionBC');
|
||||||
|
$this->assertEquals('hello world 0 10', $this->smartyBC->fetch('test_register_function.tpl'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test registerPlugin method for function cached
|
||||||
|
*
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function testRegisterFunctionCaching2()
|
||||||
|
{
|
||||||
|
$this->smartyBC->caching = 1;
|
||||||
|
$this->smartyBC->cache_lifetime = 1000;
|
||||||
|
$this->smartyBC->assign('x', 1);
|
||||||
|
$this->smartyBC->assign('y', 20);
|
||||||
|
$this->smartyBC->register_function('testfunction', 'myfunctionBC');
|
||||||
|
$this->assertEquals('hello world 0 10', $this->smartyBC->fetch('test_register_function.tpl'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test registerPlugin method for function not cached
|
||||||
|
*
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function testRegisterFunctionCaching3()
|
||||||
|
{
|
||||||
|
$this->smartyBC->caching = 1;
|
||||||
|
$this->smartyBC->cache_lifetime = 1000;
|
||||||
|
$this->smartyBC->setForceCompile(true);
|
||||||
|
$this->smartyBC->assign('x', 2);
|
||||||
|
$this->smartyBC->assign('y', 30);
|
||||||
|
$this->smartyBC->register_function('testfunction', 'myfunctionBC', false);
|
||||||
|
$this->assertEquals('hello world 2 30', $this->smartyBC->fetch('test_register_function.tpl'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test registerPlugin method for function not cached
|
||||||
|
*
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function testRegisterFunctionCaching4()
|
||||||
|
{
|
||||||
|
$this->smartyBC->caching = 1;
|
||||||
|
$this->smartyBC->cache_lifetime = 1000;
|
||||||
|
$this->smartyBC->assign('x', 3);
|
||||||
|
$this->smartyBC->assign('y', 40);
|
||||||
|
$this->smartyBC->register_function('testfunction', 'myfunctionBC', false);
|
||||||
|
$this->assertEquals('hello world 3 30', $this->smartyBC->fetch('test_register_function.tpl'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test unregisterPlugin method for function
|
||||||
|
*/
|
||||||
|
public function testUnregisterFunction()
|
||||||
|
{
|
||||||
|
$this->smartyBC->register_function('testfunction', 'myfunctionBC');
|
||||||
|
$this->smartyBC->unregister_function('testfunction');
|
||||||
|
$this->assertFalse(isset($this->smartyBC->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ 'testfunction' ]));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test test unregisterPlugin method for function not registered
|
||||||
|
*/
|
||||||
|
public function testUnregisterfunctionotRegistered()
|
||||||
|
{
|
||||||
|
$this->smartyBC->unregister_function('testfunction');
|
||||||
|
$this->assertFalse(isset($this->smartyBC->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ 'testfunction' ]));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test test unregisterPlugin method for function other registered
|
||||||
|
*/
|
||||||
|
public function testUnregisterFunctionOtherRegistered()
|
||||||
|
{
|
||||||
|
$this->smartyBC->register_block('testfunction', 'myfunctionBC');
|
||||||
|
$this->smartyBC->unregister_function('testfunction');
|
||||||
|
$this->assertTrue(isset($this->smartyBC->registered_plugins[ Smarty::PLUGIN_BLOCK ][ 'testfunction' ]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function myfunctionBC($params, &$smarty)
|
||||||
|
{
|
||||||
|
return "hello world $params[value]";
|
||||||
|
}
|
||||||
|
|
||||||
|
class myfunctionBCclass
|
||||||
|
{
|
||||||
|
static function execute($params, &$smarty)
|
||||||
|
{
|
||||||
|
return "hello world $params[value]";
|
||||||
|
}
|
||||||
|
}
|
@@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* Smarty PHPunit tests register/unregister function plugins
|
* Smarty PHPunit tests register/unregister function plugins
|
||||||
|
*
|
||||||
* @package PHPunit
|
* @package PHPunit
|
||||||
* @author Uwe Tews
|
* @author Uwe Tews
|
||||||
*/
|
*/
|
||||||
@@ -15,8 +16,6 @@
|
|||||||
*/
|
*/
|
||||||
class RegisterFunctionTest extends PHPUnit_Smarty
|
class RegisterFunctionTest extends PHPUnit_Smarty
|
||||||
{
|
{
|
||||||
public $loadSmartyBC = true;
|
|
||||||
|
|
||||||
public function setUp()
|
public function setUp()
|
||||||
{
|
{
|
||||||
$this->setUpSmarty(__DIR__);
|
$this->setUpSmarty(__DIR__);
|
||||||
@@ -35,68 +34,39 @@ class RegisterFunctionTest extends PHPUnit_Smarty
|
|||||||
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', 'myfunction');
|
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', 'myfunction');
|
||||||
$this->assertEquals('myfunction',
|
$this->assertEquals('myfunction',
|
||||||
$this->smarty->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ 'testfunction' ][ 0 ]);
|
$this->smarty->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ 'testfunction' ][ 0 ]);
|
||||||
$this->assertEquals('hello world 1', $this->smarty->fetch('string:{testfunction value=1}'));
|
$this->assertEquals('hello world 1', $this->smarty->fetch('eval:{testfunction value=1}'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test SmartyBC for register_function method
|
* test registerPlugin method for function class
|
||||||
*/
|
|
||||||
|
|
||||||
public function testRegisterFunctionSmartyBC()
|
|
||||||
{
|
|
||||||
$this->smartyBC->register_function('testfunction', 'myfunction');
|
|
||||||
$this->assertEquals('myfunction',
|
|
||||||
$this->smartyBC->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ 'testfunction' ][ 0 ]);
|
|
||||||
$this->assertEquals('hello world 13', $this->smartyBC->fetch('string:{testfunction value=13}'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* test registerPlugin method for function plugin by class
|
|
||||||
*/
|
*/
|
||||||
public function testRegisterFunctionClass()
|
public function testRegisterFunctionClass()
|
||||||
{
|
{
|
||||||
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', array('myfunctionclass', 'execute'));
|
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', array('myfunctionclass', 'execute'));
|
||||||
$this->assertEquals('hello world 2', $this->smarty->fetch('string:{testfunction value=2}'));
|
$this->assertEquals('hello world 2', $this->smarty->fetch('eval:{testfunction value=2}'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test register_function SmartyBC method for function plugin by class
|
* test registerPlugin method for function object
|
||||||
*/
|
|
||||||
public function testRegisterFunctionClassSmartyBC()
|
|
||||||
{
|
|
||||||
$this->smartyBC->register_function('testfunction', array('myfunctionclass', 'execute'));
|
|
||||||
$this->assertEquals('hello world 22', $this->smartyBC->fetch('string:{testfunction value=22}'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* test registerPlugin method for function plugin by object
|
|
||||||
*/
|
*/
|
||||||
public function testRegisterFunctionObject()
|
public function testRegisterFunctionObject()
|
||||||
{
|
{
|
||||||
$myfunction_object = new myfunctionclass;
|
$myfunction_object = new myfunctionclass;
|
||||||
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', array($myfunction_object, 'execute'));
|
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', array($myfunction_object, 'execute'));
|
||||||
$this->assertEquals('hello world 3', $this->smarty->fetch('string:{testfunction value=3}'));
|
$this->assertEquals('hello world 3', $this->smarty->fetch('eval:{testfunction value=3}'));
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* test register_function SmartyBC method for function plugin by object
|
|
||||||
*/
|
|
||||||
public function testRegisterFunctionObjectSmartyBC()
|
|
||||||
{
|
|
||||||
$myfunction_object = new myfunctionclass;
|
|
||||||
$this->smartyBC->register_function('testfunction', array($myfunction_object, 'execute'));
|
|
||||||
$this->assertEquals('hello world 23', $this->smartyBC->fetch('string:{testfunction value=23}'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* test registerPlugin method for function cached
|
||||||
|
*
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
* @preserveGlobalState disabled
|
* @preserveGlobalState disabled
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public function testRegisterFunctionCaching1()
|
public function testRegisterFunctionCaching1()
|
||||||
{
|
{
|
||||||
$this->smarty->setCaching(1);;
|
$this->smarty->caching = 1;
|
||||||
$this->smarty->setCacheLifetime(1000);;
|
$this->smarty->cache_lifetime = 1000;
|
||||||
|
$this->smarty->setForceCompile(true);
|
||||||
$this->smarty->assign('x', 0);
|
$this->smarty->assign('x', 0);
|
||||||
$this->smarty->assign('y', 10);
|
$this->smarty->assign('y', 10);
|
||||||
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', 'myfunction');
|
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', 'myfunction');
|
||||||
@@ -104,14 +74,16 @@ class RegisterFunctionTest extends PHPUnit_Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* test registerPlugin method for function cached
|
||||||
|
*
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
* @preserveGlobalState disabled
|
* @preserveGlobalState disabled
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function testRegisterFunctionCaching2()
|
public function testRegisterFunctionCaching2()
|
||||||
{
|
{
|
||||||
$this->smarty->setCaching(1);;
|
$this->smarty->caching = 1;
|
||||||
$this->smarty->setCacheLifetime(1000);;
|
$this->smarty->cache_lifetime = 1000;
|
||||||
$this->smarty->assign('x', 1);
|
$this->smarty->assign('x', 1);
|
||||||
$this->smarty->assign('y', 20);
|
$this->smarty->assign('y', 20);
|
||||||
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', 'myfunction');
|
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', 'myfunction');
|
||||||
@@ -119,15 +91,17 @@ class RegisterFunctionTest extends PHPUnit_Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* test registerPlugin method for function not cached
|
||||||
|
*
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
* @preserveGlobalState disabled
|
* @preserveGlobalState disabled
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function testRegisterFunctionCaching3()
|
public function testRegisterFunctionCaching3()
|
||||||
{
|
{
|
||||||
$this->smarty->setCaching(1);;
|
$this->smarty->caching = 1;
|
||||||
$this->smarty->setCacheLifetime(1000);;
|
$this->smarty->cache_lifetime = 1000;
|
||||||
$this->smarty->setCompileId(1);
|
$this->smarty->setForceCompile(true);
|
||||||
$this->smarty->assign('x', 2);
|
$this->smarty->assign('x', 2);
|
||||||
$this->smarty->assign('y', 30);
|
$this->smarty->assign('y', 30);
|
||||||
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', 'myfunction', false);
|
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', 'myfunction', false);
|
||||||
@@ -135,31 +109,16 @@ class RegisterFunctionTest extends PHPUnit_Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @runInSeparateProcess
|
* test registerPlugin method for function not cached
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*
|
*
|
||||||
*/
|
|
||||||
public function testRegisterFunctionCaching3BC()
|
|
||||||
{
|
|
||||||
$this->smartyBC->setCaching(1);;
|
|
||||||
$this->smartyBC->setCacheLifetime(1000);;
|
|
||||||
$this->smartyBC->setCompileId(2);
|
|
||||||
$this->smartyBC->assign('x', 12);
|
|
||||||
$this->smartyBC->assign('y', 130);
|
|
||||||
$this->smartyBC->register_function('testfunction', 'myfunction', false);
|
|
||||||
$this->assertEquals('hello world 12 130', $this->smartyBC->fetch('test_register_function.tpl'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
* @preserveGlobalState disabled
|
* @preserveGlobalState disabled
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function testRegisterFunctionCaching4()
|
public function testRegisterFunctionCaching4()
|
||||||
{
|
{
|
||||||
$this->smarty->setCaching(1);;
|
$this->smarty->caching = 1;
|
||||||
$this->smarty->setCacheLifetime(1000);;
|
$this->smarty->cache_lifetime = 1000;
|
||||||
$this->smarty->setCompileId(1);
|
|
||||||
$this->smarty->assign('x', 3);
|
$this->smarty->assign('x', 3);
|
||||||
$this->smarty->assign('y', 40);
|
$this->smarty->assign('y', 40);
|
||||||
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', 'myfunction', false);
|
$this->smarty->registerPlugin(Smarty::PLUGIN_FUNCTION, 'testfunction', 'myfunction', false);
|
||||||
@@ -167,23 +126,7 @@ class RegisterFunctionTest extends PHPUnit_Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @runInSeparateProcess
|
* test unregisterPlugin method for function
|
||||||
* @preserveGlobalState disabled
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public function testRegisterFunctionCaching4BC()
|
|
||||||
{
|
|
||||||
$this->smartyBC->setCaching(1);;
|
|
||||||
$this->smartyBC->setCacheLifetime(1000);;
|
|
||||||
$this->smartyBC->setCompileId(2);
|
|
||||||
$this->smartyBC->assign('x', 13);
|
|
||||||
$this->smartyBC->assign('y', 140);
|
|
||||||
$this->smartyBC->register_function('testfunction', 'myfunction', false);
|
|
||||||
$this->assertEquals('hello world 13 130', $this->smartyBC->fetch('test_register_function.tpl'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* test unregister->templateFunction method
|
|
||||||
*/
|
*/
|
||||||
public function testUnregisterFunction()
|
public function testUnregisterFunction()
|
||||||
{
|
{
|
||||||
@@ -192,15 +135,8 @@ class RegisterFunctionTest extends PHPUnit_Smarty
|
|||||||
$this->assertFalse(isset($this->smarty->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ 'testfunction' ]));
|
$this->assertFalse(isset($this->smarty->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ 'testfunction' ]));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testUnregisterFunctionSmartyBC()
|
|
||||||
{
|
|
||||||
$this->smartyBC->register_function('testfunction', 'myfunction');
|
|
||||||
$this->smartyBC->unregister_function('testfunction');
|
|
||||||
$this->assertFalse(isset($this->smartyBC->registered_plugins[ Smarty::PLUGIN_FUNCTION ][ 'testfunction' ]));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test unregister->templateFunction method not registered
|
* test test unregisterPlugin method for function not registered
|
||||||
*/
|
*/
|
||||||
public function testUnregisterFunctionNotRegistered()
|
public function testUnregisterFunctionNotRegistered()
|
||||||
{
|
{
|
||||||
@@ -209,7 +145,7 @@ class RegisterFunctionTest extends PHPUnit_Smarty
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* test unregister->templateFunction method other registered
|
* test test unregisterPlugin method for function other registered
|
||||||
*/
|
*/
|
||||||
public function testUnregisterFunctionOtherRegistered()
|
public function testUnregisterFunctionOtherRegistered()
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user