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 00000000000..028f8aa0d1f
--- /dev/null
+++ b/tests/template/datasets/ext_trivial/ext/trivial/styles/all/template/variable_spacing.html
@@ -0,0 +1,6 @@
+|{VARIABLE}|
+{VARIABLE}|{VARIABLE}|
+
+|{VARIABLE}
+
+
test
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 00000000000..ad05e6f6614
--- /dev/null
+++ b/tests/template/datasets/ext_trivial/styles/silver/template/variable_spacing.html
@@ -0,0 +1 @@
+
diff --git a/tests/template/template_events_test.php b/tests/template/template_events_test.php
index 6cea9b92e39..0ac50c7f2bc 100644
--- a/tests/template/template_events_test.php
+++ b/tests/template/template_events_test.php
@@ -16,9 +16,10 @@ public function template_data()
return array(
/*
array(
- '', // file
+ '', // Description
'', // dataset
array(), // style names
+ '', // file
array(), // vars
array(), // block vars
array(), // destroy
diff --git a/tests/template/template_spacing_test.php b/tests/template/template_spacing_test.php
new file mode 100644
index 00000000000..fb4161066af
--- /dev/null
+++ b/tests/template/template_spacing_test.php
@@ -0,0 +1,91 @@
+ '{}',
+ ),
+ array(),
+ array(),
+ '|{}|
+{}|{}|
+|{}
+test
',
+ ),
+ );
+ }
+
+ /**
+ * @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)
+ {
+ $this->markTestIncomplete(
+ 'This test will fail until PHPBB3-11435 is fixed'
+ );
+
+ // 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 00000000000..028f8aa0d1f
--- /dev/null
+++ b/tests/template/templates/variable_spacing.html
@@ -0,0 +1,6 @@
+|{VARIABLE}|
+{VARIABLE}|{VARIABLE}|
+
+|{VARIABLE}
+
+test