From c95f0c793543e4af68df133a09d0db5af3b4a822 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Tue, 25 Nov 2008 00:31:32 +0000 Subject: - Add template variable S_BLOCK_NAME - Modify template::alter_block_array() so it supports modification of nested blocks - Add (incomplete) tests for template::alter_block_array() git-svn-id: file:///svn/phpbb/trunk@9116 89ea8834-ac86-4346-8a33-228a782c2dd0 --- tests/template/template.php | 257 ++++++++++++++++++++++++++++++ tests/template/templates/loop_nested.html | 8 + 2 files changed, 265 insertions(+) create mode 100644 tests/template/templates/loop_nested.html (limited to 'tests') diff --git a/tests/template/template.php b/tests/template/template.php index 9558ea09f9..72905c9f1a 100644 --- a/tests/template/template.php +++ b/tests/template/template.php @@ -22,6 +22,7 @@ class phpbb_template_template_test extends phpbb_test_case { private $template; + // Keep the contents of the cache for debugging? const PRESERVE_CACHE = true; private function display($handle) @@ -359,5 +360,261 @@ class phpbb_template_template_test extends phpbb_test_case unset($config['tpl_allow_php']); } + + public static function alter_block_array_data() + { + return array( + array( + 'outer', + array('VARIABLE' => 'before'), + false, + 'insert', + << 'after'), + true, + 'insert', + << 'pos #1'), + 1, + 'insert', + << 'pos #1'), + 0, + 'change', + << 'before'), + false, + 'insert', + << 'after'), + true, + 'insert', + << 'pos #1'), + 1, + 'insert', + << 'before'), + false, + 'insert', + << 'before'), + false, + 'insert', + << 'before'), + false, + 'insert', + <<template->set_filenames(array('test' => 'loop_nested.html')); + + // @todo Change this + $this->template->assign_block_vars('outer', array()); + $this->template->assign_block_vars('outer.middle', array()); + $this->template->assign_block_vars('outer.middle', array()); + $this->template->assign_block_vars('outer', array()); + $this->template->assign_block_vars('outer.middle', array()); + $this->template->assign_block_vars('outer.middle', array()); + $this->template->assign_block_vars('outer.middle', array()); + $this->template->assign_block_vars('outer', array()); + $this->template->assign_block_vars('outer.middle', array()); + $this->template->assign_block_vars('outer.middle', array()); + + $this->assertEquals("outer - 0/3\nmiddle - 0/2\nmiddle - 1/2\nouter - 1/3\nmiddle - 0/3\nmiddle - 1/3\nmiddle - 2/3\nouter - 2/3\nmiddle - 0/2\nmiddle - 1/2", $this->display('test'), 'Ensuring template is built correctly before modification'); + + $this->template->alter_block_array($alter_block, $vararray, $key, $mode); + $this->assertEquals($expect, $this->display('test'), $description); + } } ?> \ No newline at end of file diff --git a/tests/template/templates/loop_nested.html b/tests/template/templates/loop_nested.html new file mode 100644 index 0000000000..571df97b4c --- /dev/null +++ b/tests/template/templates/loop_nested.html @@ -0,0 +1,8 @@ + + {outer.S_BLOCK_NAME} - {outer.S_ROW_NUM}/{outer.S_NUM_ROWS} - {outer.VARIABLE} + + + {middle.S_BLOCK_NAME} - {middle.S_ROW_NUM}/{middle.S_NUM_ROWS} - {middle.VARIABLE} + + + -- cgit v1.2.1