mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-04 18:34:27 +02:00
update block plugin tests
This commit is contained in:
@@ -19,7 +19,6 @@ class CompileBlockPluginTest extends PHPUnit_Smarty
|
||||
{
|
||||
$this->setUpSmarty(dirname(__FILE__));
|
||||
$this->smarty->addPluginsDir("./PHPunitplugins/");
|
||||
$this->smarty->setForceCompile(true);
|
||||
$this->smarty->disableSecurity();
|
||||
}
|
||||
|
||||
@@ -34,8 +33,7 @@ class CompileBlockPluginTest extends PHPUnit_Smarty
|
||||
*/
|
||||
public function testBlockPluginNoAssign()
|
||||
{
|
||||
$tpl = $this->smarty->createTemplate("eval:{textformat}hello world{/textformat}");
|
||||
$this->assertEquals("hello world", $this->smarty->fetch($tpl));
|
||||
$this->assertEquals("hello world", $this->smarty->fetch('no_assign.tpl'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -44,51 +42,7 @@ class CompileBlockPluginTest extends PHPUnit_Smarty
|
||||
*/
|
||||
public function testBlockPluginAssign()
|
||||
{
|
||||
$tpl = $this->smarty->createTemplate("eval:{textformat assign=foo}hello world{/textformat}{\$foo}");
|
||||
$this->assertEquals("hello world", $this->smarty->fetch($tpl));
|
||||
}
|
||||
|
||||
/**
|
||||
* test block plugin tag in template file
|
||||
*
|
||||
* @runInSeparateProcess
|
||||
* @preserveGlobalState disabled
|
||||
*
|
||||
*/
|
||||
public function testBlockPluginFromTemplateFile()
|
||||
{
|
||||
$tpl = $this->smarty->createTemplate('blockplugintest.tpl');
|
||||
$this->assertEquals("abc", $this->smarty->fetch($tpl));
|
||||
}
|
||||
|
||||
/**
|
||||
* test block plugin tag in compiled template file
|
||||
*
|
||||
* @runInSeparateProcess
|
||||
* @preserveGlobalState disabled
|
||||
*
|
||||
*/
|
||||
public function testBlockPluginFromCompiledTemplateFile()
|
||||
{
|
||||
$this->smarty->setForceCompile(false);
|
||||
$tpl = $this->smarty->createTemplate('blockplugintest.tpl');
|
||||
$this->assertEquals("abc", $this->smarty->fetch($tpl));
|
||||
}
|
||||
|
||||
/**
|
||||
* test block plugin tag in template file
|
||||
*
|
||||
* @runInSeparateProcess
|
||||
* @preserveGlobalState disabled
|
||||
*
|
||||
*/
|
||||
public function testBlockPluginFromTemplateFileCache()
|
||||
{
|
||||
$this->smarty->setForceCompile(false);
|
||||
$this->smarty->caching = 1;
|
||||
$this->smarty->cache_lifetime = 10;
|
||||
$tpl = $this->smarty->createTemplate('blockplugintest.tpl');
|
||||
$this->assertEquals("abc", $this->smarty->fetch($tpl));
|
||||
$this->assertEquals("hello world", $this->smarty->fetch('assign.tpl'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,8 +55,7 @@ class CompileBlockPluginTest extends PHPUnit_Smarty
|
||||
public function testBlockPluginRegisteredFunction()
|
||||
{
|
||||
$this->smarty->registerPlugin(Smarty::PLUGIN_BLOCK, 'blockplugintest', 'myblockplugintest');
|
||||
$tpl = $this->smarty->createTemplate('eval:{blockplugintest}hello world{/blockplugintest}');
|
||||
$this->assertEquals('block test', $this->smarty->fetch($tpl));
|
||||
$this->assertEquals('block test', $this->smarty->fetch('registered.tpl'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -111,28 +64,33 @@ class CompileBlockPluginTest extends PHPUnit_Smarty
|
||||
*/
|
||||
public function testBlockPluginRepeat()
|
||||
{
|
||||
$this->smarty->addPluginsDir(dirname(__FILE__) . "/PHPunitplugins/");
|
||||
$this->assertEquals('12345', $this->smarty->fetch('eval:{testblock}{/testblock}'));
|
||||
$this->assertEquals('12345', $this->smarty->fetch('repeat.tpl'));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* test block plugin repeat function with modifier
|
||||
*
|
||||
*/
|
||||
public function testBlockPluginRepeatModidier1()
|
||||
{
|
||||
$this->smarty->addPluginsDir(dirname(__FILE__) . "/PHPunitplugins/");
|
||||
$this->assertEquals('11111', $this->smarty->fetch('eval:{testblock}{/testblock|strlen}'));
|
||||
$this->assertEquals('11111', $this->smarty->fetch('repeat_modifier.tpl'));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* test block plugin repeat function with modifier list
|
||||
*
|
||||
*/
|
||||
public function testBlockPluginRepeatModidier2()
|
||||
{
|
||||
$this->smarty->addPluginsDir(dirname(__FILE__) . "/PHPunitplugins/");
|
||||
$this->assertEquals('11111', $this->smarty->fetch('eval:{testblock}{/testblock|strlen|default:""}'));
|
||||
$this->assertEquals('11111', $this->smarty->fetch('repeat_modifier_2.tpl'));
|
||||
}
|
||||
/**
|
||||
* test block plugin with no output
|
||||
*
|
||||
*/
|
||||
public function testBlockPluginNoOutput()
|
||||
{
|
||||
$this->assertEquals('default', $this->smarty->fetch('nooutput.tpl'));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
/**
|
||||
* Smarty plugin for testing block plugins
|
||||
*
|
||||
* @package Smarty
|
||||
* @subpackage PHPunitPlugin
|
||||
*/
|
||||
|
||||
/**
|
||||
* Smarty {nooutput}{/nooutput} block plugin
|
||||
*
|
||||
* @param array $params parameter array
|
||||
* @param string $content contents of the block
|
||||
* @param object $template template object
|
||||
* @param bool $repeat flag
|
||||
*
|
||||
* @return string content re-formatted
|
||||
*/
|
||||
function smarty_block_nooutput($params, $content, $template, &$repeat)
|
||||
{
|
||||
if (isset($content)) {
|
||||
$repeat = false;
|
||||
}
|
||||
}
|
@@ -9,10 +9,10 @@
|
||||
/**
|
||||
* Smarty {testblock}{/testblock} block plugin
|
||||
*
|
||||
* @param array $params parameter array
|
||||
* @param string $content contents of the block
|
||||
* @param object $smarty Smarty object
|
||||
* @param boolean $ &$repeat repeat flag
|
||||
* @param object $template template object
|
||||
* @param bool $repeat flag
|
||||
*
|
||||
* @return string content re-formatted
|
||||
*/
|
||||
@@ -26,8 +26,7 @@ function smarty_block_testblock($params, $content, $template, &$repeat)
|
||||
} else {
|
||||
$repeat = false;
|
||||
}
|
||||
|
||||
return $loop;
|
||||
return $loop;
|
||||
} else {
|
||||
$loop = 0;
|
||||
}
|
||||
|
@@ -0,0 +1 @@
|
||||
{textformat assign=foo}hello world{/textformat}{$foo}
|
@@ -1 +0,0 @@
|
||||
{textformat}abc{/textformat}
|
@@ -0,0 +1 @@
|
||||
{textformat}hello world{/textformat}
|
@@ -0,0 +1 @@
|
||||
{nooutput}{/nooutput|default:'default'}
|
@@ -0,0 +1 @@
|
||||
{blockplugintest}hello world{/blockplugintest}
|
@@ -0,0 +1 @@
|
||||
{testblock}{/testblock}
|
@@ -0,0 +1 @@
|
||||
{testblock}{/testblock|strlen}
|
@@ -0,0 +1 @@
|
||||
{testblock}{/testblock|strlen|default:''}
|
Reference in New Issue
Block a user