1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-10 18:54:08 +02:00

[ticket/10970] Paths of the form {FOO}/a/{BAR}/b parsed correctly

A new method to handle this type of path was added and
compile_tag_include, compile_tag_include_php and
compile_tag_include_js were modified to use it appropriately.

Tests were added for these three macros also.

PHPBB3-10970
This commit is contained in:
Fyorl
2012-07-07 22:43:52 +01:00
parent 576cd6dd1e
commit d589623906
10 changed files with 85 additions and 18 deletions

View File

@@ -23,6 +23,18 @@ class phpbb_template_includephp_test extends phpbb_template_template_test_case
$this->assertEquals("Path is relative to board root.\ntesting included php", $this->display('test'), "Testing INCLUDEPHP");
}
public function test_includephp_variables()
{
$this->setup_engine(array('tpl_allow_php' => true));
$cache_file = $this->template->cachepath . 'includephp_variables.html.php';
$this->run_template('includephp_variables.html', array('TEMPLATES' => 'templates'), array(), array(), "Path includes variables.\ntesting included php", $cache_file);
$this->template->set_filenames(array('test' => 'includephp_variables.html'));
$this->assertEquals("Path includes variables.\ntesting included php", $this->display('test'), "Testing INCLUDEPHP");
}
public function test_includephp_absolute()
{
$path_to_php = dirname(__FILE__) . '/templates/_dummy_include.php.inc';

View File

@@ -20,11 +20,13 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes
$scripts = array(
'<script src="' . $this->test_path . '/templates/parent_and_child.js?assets_version=1"></script>',
'<script src="' . $this->test_path . '/parent_templates/parent_only.js?assets_version=1"></script>',
'<script src="' . $this->test_path . '/templates/child_only.js?assets_version=1"></script>'
'<script src="' . $this->test_path . '/templates/child_only.js?assets_version=1"></script>',
'<script src="' . $this->test_path . '/templates/subdir/parent_only.js?assets_version=1"></script>',
'<script src="' . $this->test_path . '/templates/subdir/subsubdir/parent_only.js?assets_version=1"></script>',
);
// Run test
$cache_file = $this->template->cachepath . 'includejs.html.php';
$this->run_template('includejs.html', array('PARENT' => 'parent_only.js'), array(), array(), implode('', $scripts), $cache_file);
$this->run_template('includejs.html', array('PARENT' => 'parent_only.js', 'SUBDIR' => 'subdir'), array(), array(), implode('', $scripts), $cache_file);
}
}

View File

@@ -183,6 +183,13 @@ class phpbb_template_template_test extends phpbb_template_template_test_case
array(),
'value',
),
array(
'include_variables.html',
array('SUBDIR' => 'subdir', 'VARIABLE' => 'value'),
array(),
array(),
'value',
),
array(
'loop_vars.html',
array(),

View File

@@ -0,0 +1 @@
<!-- INCLUDE {SUBDIR}/variable.html -->

View File

@@ -2,4 +2,6 @@
<!-- INCLUDEJS {PARENT} -->
<!-- DEFINE $TEST = 'child_only.js' -->
<!-- INCLUDEJS {$TEST} -->
{SCRIPTS}
<!-- INCLUDEJS subdir/{PARENT} -->
<!-- INCLUDEJS {SUBDIR}/subsubdir/{PARENT} -->
{SCRIPTS}

View File

@@ -0,0 +1,2 @@
Path includes variables.
<!-- INCLUDEPHP ../tests/template/{TEMPLATES}/_dummy_include.php.inc -->

View File

@@ -0,0 +1 @@
{VARIABLE}