aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Guse <nathaniel.guse@gmail.com>2013-04-25 14:15:04 -0500
committerNathan Guse <nathaniel.guse@gmail.com>2013-04-25 15:26:59 -0500
commitab87fe7982b185e9c08a3fd7248214004b23a58b (patch)
tree32ca6aab5e5c7021711b9fb56a67361757460677
parent6801e36defcd9628a7feeebd01c6f34366b70542 (diff)
downloadforums-ab87fe7982b185e9c08a3fd7248214004b23a58b.tar
forums-ab87fe7982b185e9c08a3fd7248214004b23a58b.tar.gz
forums-ab87fe7982b185e9c08a3fd7248214004b23a58b.tar.bz2
forums-ab87fe7982b185e9c08a3fd7248214004b23a58b.tar.xz
forums-ab87fe7982b185e9c08a3fd7248214004b23a58b.zip
[ticket/11435] Create test to make sure template/event output is equal
PHPBB3-11435
-rw-r--r--tests/template/datasets/ext_trivial/ext/trivial/styles/all/template/variable_spacing.html6
-rw-r--r--tests/template/datasets/ext_trivial/styles/silver/template/variable_spacing.html1
-rw-r--r--tests/template/template_spacing_test.php87
-rw-r--r--tests/template/templates/variable_spacing.html6
4 files changed, 100 insertions, 0 deletions
diff --git a/tests/template/datasets/ext_trivial/ext/trivial/styles/all/template/variable_spacing.html b/tests/template/datasets/ext_trivial/ext/trivial/styles/all/template/variable_spacing.html
new file mode 100644
index 0000000000..2909e1c136
--- /dev/null
+++ b/tests/template/datasets/ext_trivial/ext/trivial/styles/all/template/variable_spacing.html
@@ -0,0 +1,6 @@
+|{VARIABLE}|
+{VARIABLE}|{VARIABLE}|
+
+|{VARIABLE}
+
+<div class="{VARIABLE}">test</div> \ No newline at end of file
diff --git a/tests/template/datasets/ext_trivial/styles/silver/template/variable_spacing.html b/tests/template/datasets/ext_trivial/styles/silver/template/variable_spacing.html
new file mode 100644
index 0000000000..c11ae9cb40
--- /dev/null
+++ b/tests/template/datasets/ext_trivial/styles/silver/template/variable_spacing.html
@@ -0,0 +1 @@
+<!-- EVENT variable_spacing --> \ No newline at end of file
diff --git a/tests/template/template_spacing_test.php b/tests/template/template_spacing_test.php
new file mode 100644
index 0000000000..83f8711b38
--- /dev/null
+++ b/tests/template/template_spacing_test.php
@@ -0,0 +1,87 @@
+<?php
+/**
+*
+* @package testing
+* @copyright (c) 2013 phpBB Group
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+*
+*/
+
+require_once dirname(__FILE__) . '/template_test_case.php';
+
+class phpbb_template_template_spacing_test extends phpbb_template_template_test_case
+{
+ public function template_data()
+ {
+ return array(
+ /*
+ array(
+ '', // Description
+ '', // dataset
+ array(), // style names
+ '', // file
+ array(), // vars
+ array(), // block vars
+ array(), // destroy
+ '', // expected result
+ ),
+ */
+ array(
+ 'Spacing in templates',
+ 'ext_trivial',
+ array(),
+ 'variable_spacing.html',
+ array(
+ 'VARIABLE' => '{}',
+ ),
+ array(),
+ array(),
+ '|{}|
+{}|{}|
+|{}
+<div class="{}">test</div>',
+ ),
+ );
+ }
+
+ /**
+ * @dataProvider template_data
+ */
+ public function test_template($desc, $dataset, $style_names, $file, array $vars, array $block_vars, array $destroy, $expected)
+ {
+ // Run test
+ $cache_file = $this->template->cachepath . str_replace('/', '.', $file) . '.php';
+ $this->run_template($file, $vars, $block_vars, $destroy, $expected, $cache_file);
+ }
+
+ /**
+ * @dataProvider template_data
+ */
+ public function test_event($desc, $dataset, $style_names, $file, array $vars, array $block_vars, array $destroy, $expected)
+ {
+ // Reset the engine state
+ $this->setup_engine_for_events($dataset, $style_names);
+
+ // Run test
+ $cache_file = $this->template->cachepath . str_replace('/', '.', $file) . '.php';
+ $this->run_template($file, $vars, $block_vars, $destroy, $expected, $cache_file);
+ }
+
+ protected function setup_engine_for_events($dataset, $style_names, array $new_config = array())
+ {
+ global $phpbb_root_path, $phpEx, $user;
+
+ $defaults = $this->config_defaults();
+ $config = new phpbb_config(array_merge($defaults, $new_config));
+
+ $this->template_path = dirname(__FILE__) . "/datasets/$dataset/styles/silver/template";
+ $this->style_resource_locator = new phpbb_style_resource_locator();
+ $this->extension_manager = new phpbb_mock_filesystem_extension_manager(
+ dirname(__FILE__) . "/datasets/$dataset/"
+ );
+ $this->template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $this->style_resource_locator, new phpbb_template_context, $this->extension_manager);
+ $this->style_provider = new phpbb_style_path_provider();
+ $this->style = new phpbb_style($phpbb_root_path, $phpEx, $config, $user, $this->style_resource_locator, $this->style_provider, $this->template);
+ $this->style->set_custom_style('silver', array($this->template_path), $style_names, '');
+ }
+}
diff --git a/tests/template/templates/variable_spacing.html b/tests/template/templates/variable_spacing.html
new file mode 100644
index 0000000000..2909e1c136
--- /dev/null
+++ b/tests/template/templates/variable_spacing.html
@@ -0,0 +1,6 @@
+|{VARIABLE}|
+{VARIABLE}|{VARIABLE}|
+
+|{VARIABLE}
+
+<div class="{VARIABLE}">test</div> \ No newline at end of file