mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-04 02:14:26 +02:00
Update for {fetch} plugin
This commit is contained in:
@@ -20,8 +20,48 @@ class PluginFunctionFetchTest extends PHPUnit_Smarty
|
|||||||
$this->setUpSmarty(dirname(__FILE__));
|
$this->setUpSmarty(dirname(__FILE__));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testTodo()
|
public function testInit()
|
||||||
{
|
{
|
||||||
// TODO: UnitTests for {fetch}
|
$this->cleanDirs();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test {fetch} from UIR
|
||||||
|
*
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*/
|
||||||
|
public function testFetchUri()
|
||||||
|
{
|
||||||
|
$this->assertContains('<title>Preface | Smarty</title>', $this->smarty->fetch('string:{fetch file="https://www.smarty.net/docs/en/preface.tpl"}'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test {fetch} invalid uri
|
||||||
|
*
|
||||||
|
* @expectedException SmartyException
|
||||||
|
* @expectedExceptionMessage {fetch} cannot read resource 'https://foo.smarty.net/foo.dat'
|
||||||
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*/
|
||||||
|
public function testFetchInvalidUri()
|
||||||
|
{
|
||||||
|
$result = $this->smarty->fetch('string:{fetch file="https://foo.smarty.net/foo.dat"}');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* test {fetch file=...} access to file from path not aloowed by security settings
|
||||||
|
*
|
||||||
|
* @expectedException SmartyException
|
||||||
|
* @expectedExceptionMessage not allowed by security setting
|
||||||
|
* @run InSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
*/
|
||||||
|
public function testFetchSecurity()
|
||||||
|
{
|
||||||
|
$dir=$this->smarty->getTemplateDir();
|
||||||
|
$this->smarty->enableSecurity();
|
||||||
|
$result = $this->smarty->fetch('string:{fetch file=\''. $dir[0]. '..\..\..\..\..\etc\passwd\'}');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user