mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
[feature/template-engine] Refactor $config dependency out of the filter
The template stream filter no longer depends on the $config global. Instead it uses a 'allow_php' param that is passed via stream_bucket_append's last argument. Tests also adjusted. PHPBB3-9726
This commit is contained in:
@@ -13,7 +13,7 @@ class phpbb_template_includephp_test extends phpbb_template_template_test_case
|
||||
{
|
||||
public function test_includephp_relative()
|
||||
{
|
||||
$GLOBALS['config']['tpl_allow_php'] = true;
|
||||
$this->setup_engine(array('tpl_allow_php' => true));
|
||||
|
||||
$cache_file = $this->template->cachepath . 'includephp_relative.html.php';
|
||||
|
||||
@@ -21,8 +21,6 @@ class phpbb_template_includephp_test extends phpbb_template_template_test_case
|
||||
|
||||
$this->template->set_filenames(array('test' => 'includephp_relative.html'));
|
||||
$this->assertEquals("Path is relative to board root.\ntesting included php", $this->display('test'), "Testing INCLUDEPHP");
|
||||
|
||||
$GLOBALS['config']['tpl_allow_php'] = false;
|
||||
}
|
||||
|
||||
public function test_includephp_absolute()
|
||||
@@ -36,7 +34,7 @@ class phpbb_template_includephp_test extends phpbb_template_template_test_case
|
||||
fputs($fp, $template_text);
|
||||
fclose($fp);
|
||||
|
||||
$GLOBALS['config']['tpl_allow_php'] = true;
|
||||
$this->setup_engine(array('tpl_allow_php' => true));
|
||||
|
||||
$this->template->set_custom_template($cache_dir, 'tests');
|
||||
$cache_file = $this->template->cachepath . 'includephp_absolute.html.php';
|
||||
@@ -45,7 +43,5 @@ class phpbb_template_includephp_test extends phpbb_template_template_test_case
|
||||
|
||||
$this->template->set_filenames(array('test' => 'includephp_absolute.html'));
|
||||
$this->assertEquals("Path is absolute.\ntesting included php", $this->display('test'), "Testing INCLUDEPHP");
|
||||
|
||||
$GLOBALS['config']['tpl_allow_php'] = false;
|
||||
}
|
||||
}
|
||||
|
@@ -17,7 +17,7 @@ class phpbb_template_subdir_includephp_from_subdir_test extends phpbb_template_t
|
||||
// board root.
|
||||
public function test_includephp_relative()
|
||||
{
|
||||
$GLOBALS['config']['tpl_allow_php'] = true;
|
||||
$this->setup_engine(array('tpl_allow_php' => true));
|
||||
|
||||
$cache_file = $this->template->cachepath . 'includephp_relative.html.php';
|
||||
|
||||
@@ -25,7 +25,5 @@ class phpbb_template_subdir_includephp_from_subdir_test extends phpbb_template_t
|
||||
|
||||
$this->template->set_filenames(array('test' => 'includephp_relative.html'));
|
||||
$this->assertEquals("Path is relative to board root.\ntesting included php", $this->display('test'), "Testing INCLUDEPHP");
|
||||
|
||||
$GLOBALS['config']['tpl_allow_php'] = false;
|
||||
}
|
||||
}
|
||||
|
@@ -16,7 +16,7 @@ class phpbb_template_template_compile_test extends phpbb_test_case
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
$this->template_compile = new phpbb_template_compile();
|
||||
$this->template_compile = new phpbb_template_compile(false);
|
||||
$this->template_path = dirname(__FILE__) . '/templates';
|
||||
}
|
||||
|
||||
|
@@ -328,15 +328,13 @@ class phpbb_template_template_test extends phpbb_template_template_test_case
|
||||
|
||||
public function test_php()
|
||||
{
|
||||
$GLOBALS['config']['tpl_allow_php'] = true;
|
||||
$this->setup_engine(array('tpl_allow_php' => true));
|
||||
|
||||
$cache_file = $this->template->cachepath . 'php.html.php';
|
||||
|
||||
$this->assertFileNotExists($cache_file);
|
||||
|
||||
$this->run_template('php.html', array(), array(), array(), 'test', $cache_file);
|
||||
|
||||
$GLOBALS['config']['tpl_allow_php'] = false;
|
||||
}
|
||||
|
||||
public static function alter_block_array_data()
|
||||
|
@@ -29,9 +29,16 @@ class phpbb_template_template_test_case extends phpbb_test_case
|
||||
return str_replace("\n\n", "\n", implode("\n", array_map('trim', explode("\n", trim($result)))));
|
||||
}
|
||||
|
||||
protected function setup_engine()
|
||||
protected function setup_engine(array $new_config = array())
|
||||
{
|
||||
global $phpbb_root_path, $phpEx, $config, $user;
|
||||
global $phpbb_root_path, $phpEx, $user;
|
||||
|
||||
$defaults = array(
|
||||
'load_tplcompile' => true,
|
||||
'tpl_allow_php' => false,
|
||||
);
|
||||
|
||||
$config = new phpbb_config(array_merge($defaults, $new_config));
|
||||
|
||||
$this->template_path = dirname(__FILE__) . '/templates';
|
||||
$this->template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user);
|
||||
@@ -53,10 +60,7 @@ class phpbb_template_template_test_case extends phpbb_test_case
|
||||
unlink($file);
|
||||
}
|
||||
|
||||
$GLOBALS['config'] = array(
|
||||
'load_tplcompile' => true,
|
||||
'tpl_allow_php' => false,
|
||||
);
|
||||
$this->setup_engine();
|
||||
}
|
||||
|
||||
protected function tearDown()
|
||||
|
Reference in New Issue
Block a user