From 51347ebc09d18a55fa93fe86ef50a215148c935f Mon Sep 17 00:00:00 2001 From: Vjacheslav Trushkin Date: Sun, 29 Apr 2012 00:30:08 +0300 Subject: [ticket/10800] Changing template paths in tests Changing template paths in tests from absolute to relative PHPBB3-10800 --- tests/template/template_includejs_test.php | 7 +++---- tests/template/template_locate_test.php | 6 +++--- tests/template/template_test.php | 2 +- tests/template/template_test_case.php | 4 +++- tests/template/template_test_case_with_tree.php | 4 ++-- 5 files changed, 12 insertions(+), 11 deletions(-) (limited to 'tests/template') diff --git a/tests/template/template_includejs_test.php b/tests/template/template_includejs_test.php index 632fde61d1..d80254072b 100644 --- a/tests/template/template_includejs_test.php +++ b/tests/template/template_includejs_test.php @@ -17,11 +17,10 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes $this->setup_engine(array('assets_version' => 1)); // Prepare correct result - $dir = dirname(__FILE__); $scripts = array( - '', - '', - '' + '', + '', + '' ); // Run test diff --git a/tests/template/template_locate_test.php b/tests/template/template_locate_test.php index d6e2e82a47..be9ae06809 100644 --- a/tests/template/template_locate_test.php +++ b/tests/template/template_locate_test.php @@ -17,21 +17,21 @@ class phpbb_template_template_locate_test extends phpbb_template_template_test_c // First element of the array is test name - keep them distinct array( 'simple inheritance - only parent template exists', - dirname(__FILE__) . '/parent_templates/parent_only.html', + $this->test_path . '/parent_templates/parent_only.html', 'parent_only.html', false, true, ), array( 'simple inheritance - only child template exists', - dirname(__FILE__) . '/templates/child_only.html', + $this->test_path . '/templates/child_only.html', 'child_only.html', false, true, ), array( 'simple inheritance - both parent and child templates exist', - dirname(__FILE__) . '/templates/parent_and_child.html', + $this->test_path . '/templates/parent_and_child.html', 'parent_and_child.html', false, true, diff --git a/tests/template/template_test.php b/tests/template/template_test.php index 739bbe9387..f8677ed913 100644 --- a/tests/template/template_test.php +++ b/tests/template/template_test.php @@ -277,7 +277,7 @@ class phpbb_template_template_test extends phpbb_template_template_test_case $this->template->set_filenames(array('test' => $filename)); $this->assertFileNotExists($this->template_path . '/' . $filename, 'Testing missing file, file cannot exist'); - $expecting = sprintf('style resource locator: File for handle test does not exist. Could not find: %s', realpath($this->template_path . '/../') . '/templates/' . $filename); + $expecting = sprintf('style resource locator: File for handle test does not exist. Could not find: %s', $this->test_path . '/templates/' . $filename); $this->setExpectedTriggerError(E_USER_ERROR, $expecting); $this->display('test'); diff --git a/tests/template/template_test_case.php b/tests/template/template_test_case.php index d660aa3f56..dd0acba6cd 100644 --- a/tests/template/template_test_case.php +++ b/tests/template/template_test_case.php @@ -18,6 +18,8 @@ class phpbb_template_template_test_case extends phpbb_test_case protected $style_resource_locator; protected $style_provider; + protected $test_path = 'tests/template'; + // Keep the contents of the cache for debugging? const PRESERVE_CACHE = true; @@ -63,7 +65,7 @@ class phpbb_template_template_test_case extends phpbb_test_case $defaults = $this->config_defaults(); $config = new phpbb_config(array_merge($defaults, $new_config)); - $this->template_path = dirname(__FILE__) . '/templates'; + $this->template_path = $this->test_path . '/templates'; $this->style_resource_locator = new phpbb_style_resource_locator(); $this->style_provider = new phpbb_style_path_provider(); $this->template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $this->style_resource_locator); diff --git a/tests/template/template_test_case_with_tree.php b/tests/template/template_test_case_with_tree.php index 9522c97330..05ccb7ee55 100644 --- a/tests/template/template_test_case_with_tree.php +++ b/tests/template/template_test_case_with_tree.php @@ -18,8 +18,8 @@ class phpbb_template_template_test_case_with_tree extends phpbb_template_templat $defaults = $this->config_defaults(); $config = new phpbb_config(array_merge($defaults, $new_config)); - $this->template_path = dirname(__FILE__) . '/templates'; - $this->parent_template_path = dirname(__FILE__) . '/parent_templates'; + $this->template_path = $this->test_path . '/templates'; + $this->parent_template_path = $this->test_path . '/parent_templates'; $this->style_resource_locator = new phpbb_style_resource_locator(); $this->style_provider = new phpbb_style_path_provider(); $this->template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $this->style_resource_locator); -- cgit v1.2.1 From 5114edcafe440df04357d789c03b390d6da48db5 Mon Sep 17 00:00:00 2001 From: Vjacheslav Trushkin Date: Tue, 1 May 2012 17:41:46 +0300 Subject: [ticket/10800] Changing html to js for includejs tests Changing .html to .js files for includejs tests PHPBB3-10800 --- tests/template/parent_templates/parent_and_child.js | 1 + tests/template/parent_templates/parent_only.js | 1 + tests/template/template_includejs_test.php | 8 ++++---- tests/template/templates/child_only.js | 1 + tests/template/templates/includejs.html | 4 ++-- tests/template/templates/parent_and_child.js | 1 + 6 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 tests/template/parent_templates/parent_and_child.js create mode 100644 tests/template/parent_templates/parent_only.js create mode 100644 tests/template/templates/child_only.js create mode 100644 tests/template/templates/parent_and_child.js (limited to 'tests/template') diff --git a/tests/template/parent_templates/parent_and_child.js b/tests/template/parent_templates/parent_and_child.js new file mode 100644 index 0000000000..6d9bb163bf --- /dev/null +++ b/tests/template/parent_templates/parent_and_child.js @@ -0,0 +1 @@ +// JavaScript file in a parent style. diff --git a/tests/template/parent_templates/parent_only.js b/tests/template/parent_templates/parent_only.js new file mode 100644 index 0000000000..9c3007d83f --- /dev/null +++ b/tests/template/parent_templates/parent_only.js @@ -0,0 +1 @@ +// JavaScript file only in parent style. diff --git a/tests/template/template_includejs_test.php b/tests/template/template_includejs_test.php index d80254072b..a8f9a9037f 100644 --- a/tests/template/template_includejs_test.php +++ b/tests/template/template_includejs_test.php @@ -18,13 +18,13 @@ class phpbb_template_template_includejs_test extends phpbb_template_template_tes // Prepare correct result $scripts = array( - '', - '', - '' + '', + '', + '' ); // Run test $cache_file = $this->template->cachepath . 'includejs.html.php'; - $this->run_template('includejs.html', array('PARENT' => 'parent_only.html'), array(), array(), implode('', $scripts), $cache_file); + $this->run_template('includejs.html', array('PARENT' => 'parent_only.js'), array(), array(), implode('', $scripts), $cache_file); } } diff --git a/tests/template/templates/child_only.js b/tests/template/templates/child_only.js new file mode 100644 index 0000000000..542b26526c --- /dev/null +++ b/tests/template/templates/child_only.js @@ -0,0 +1 @@ +// JavaScript file only in a child style. diff --git a/tests/template/templates/includejs.html b/tests/template/templates/includejs.html index 186fc30b43..8a2587d76b 100644 --- a/tests/template/templates/includejs.html +++ b/tests/template/templates/includejs.html @@ -1,5 +1,5 @@ - + - + {SCRIPTS} \ No newline at end of file diff --git a/tests/template/templates/parent_and_child.js b/tests/template/templates/parent_and_child.js new file mode 100644 index 0000000000..d544d94d83 --- /dev/null +++ b/tests/template/templates/parent_and_child.js @@ -0,0 +1 @@ +// JavaScript file in a child style. -- cgit v1.2.1 From 9a38a034e56fc6e30207f1fee385f0b18de0dcc2 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Thu, 10 May 2012 03:23:48 -0400 Subject: [ticket/10882] Add test for an invalid template tag. PHPBB3-10882 --- tests/template/invalid_constructs_test.php | 43 ++++++++++++++++++++++ .../templates/invalid/output/unknown_tag.html | 1 + tests/template/templates/invalid/unknown_tag.html | 1 + 3 files changed, 45 insertions(+) create mode 100644 tests/template/invalid_constructs_test.php create mode 100644 tests/template/templates/invalid/output/unknown_tag.html create mode 100644 tests/template/templates/invalid/unknown_tag.html (limited to 'tests/template') diff --git a/tests/template/invalid_constructs_test.php b/tests/template/invalid_constructs_test.php new file mode 100644 index 0000000000..08fb5d4289 --- /dev/null +++ b/tests/template/invalid_constructs_test.php @@ -0,0 +1,43 @@ +template->cachepath . str_replace('/', '.', $file) . '.php'; + + $this->assertFileNotExists($cache_file); + + $expected = file_get_contents(dirname(__FILE__) . '/templates/' . $expected); + // apparently the template engine does not put + // the trailing newline into compiled templates + $expected = trim($expected); + $this->run_template($file, $vars, $block_vars, $destroy, $expected, $cache_file); + } +} diff --git a/tests/template/templates/invalid/output/unknown_tag.html b/tests/template/templates/invalid/output/unknown_tag.html new file mode 100644 index 0000000000..1489e5e31a --- /dev/null +++ b/tests/template/templates/invalid/output/unknown_tag.html @@ -0,0 +1 @@ + diff --git a/tests/template/templates/invalid/unknown_tag.html b/tests/template/templates/invalid/unknown_tag.html new file mode 100644 index 0000000000..1489e5e31a --- /dev/null +++ b/tests/template/templates/invalid/unknown_tag.html @@ -0,0 +1 @@ + -- cgit v1.2.1 From 720d07c9b3942a103ceedc1996fb11e13c1bc2f0 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Thu, 10 May 2012 03:28:54 -0400 Subject: [ticket/10882] Add test for an ENDIF without IF. PHPBB3-10882 --- tests/template/invalid_constructs_test.php | 12 ++++++++++++ tests/template/templates/invalid/endif_without_if.html | 1 + .../template/templates/invalid/output/endif_without_if.html | 1 + 3 files changed, 14 insertions(+) create mode 100644 tests/template/templates/invalid/endif_without_if.html create mode 100644 tests/template/templates/invalid/output/endif_without_if.html (limited to 'tests/template') diff --git a/tests/template/invalid_constructs_test.php b/tests/template/invalid_constructs_test.php index 08fb5d4289..8d54df5014 100644 --- a/tests/template/invalid_constructs_test.php +++ b/tests/template/invalid_constructs_test.php @@ -22,6 +22,18 @@ class phpbb_template_template_test extends phpbb_template_template_test_case array(), 'invalid/output/unknown_tag.html', ), + /* + * Produces a parse error which is fatal, therefore + * destroying the test suite. + array( + 'ENDIF without IF', + 'invalid/endif_without_if.html', + array(), + array(), + array(), + 'invalid/output/endif_without_if.html', + ), + */ ); } diff --git a/tests/template/templates/invalid/endif_without_if.html b/tests/template/templates/invalid/endif_without_if.html new file mode 100644 index 0000000000..e371ffd150 --- /dev/null +++ b/tests/template/templates/invalid/endif_without_if.html @@ -0,0 +1 @@ + diff --git a/tests/template/templates/invalid/output/endif_without_if.html b/tests/template/templates/invalid/output/endif_without_if.html new file mode 100644 index 0000000000..5f2239c964 --- /dev/null +++ b/tests/template/templates/invalid/output/endif_without_if.html @@ -0,0 +1 @@ +Parse error (fatal, destroys php runtime). -- cgit v1.2.1 From 56b2b87423c9afd62312fd36b5c2f6fff2d1d8a7 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Thu, 10 May 2012 03:36:58 -0400 Subject: [ticket/10882] Add a test for including a nonexistent file. PHPBB3-10882 --- tests/template/invalid_constructs_test.php | 32 ++++++++++++++++++++++ .../invalid/include_nonexistent_file.html | 1 + .../invalid/output/include_nonexistent_file.html | 1 + 3 files changed, 34 insertions(+) create mode 100644 tests/template/templates/invalid/include_nonexistent_file.html create mode 100644 tests/template/templates/invalid/output/include_nonexistent_file.html (limited to 'tests/template') diff --git a/tests/template/invalid_constructs_test.php b/tests/template/invalid_constructs_test.php index 8d54df5014..2430b5b9b1 100644 --- a/tests/template/invalid_constructs_test.php +++ b/tests/template/invalid_constructs_test.php @@ -37,6 +37,21 @@ class phpbb_template_template_test extends phpbb_template_template_test_case ); } + public function template_data_error() + { + return array( + array( + 'Include a nonexistent file', + 'invalid/include_nonexistent_file.html', + array(), + array(), + array(), + E_USER_ERROR, + 'invalid/output/include_nonexistent_file.html', + ), + ); + } + /** * @dataProvider template_data */ @@ -52,4 +67,21 @@ class phpbb_template_template_test extends phpbb_template_template_test_case $expected = trim($expected); $this->run_template($file, $vars, $block_vars, $destroy, $expected, $cache_file); } + + /** + * @dataProvider template_data_error + */ + public function test_template_error($description, $file, $vars, $block_vars, $destroy, $error, $expected) + { + $cache_file = $this->template->cachepath . str_replace('/', '.', $file) . '.php'; + + $this->assertFileNotExists($cache_file); + + $expected = file_get_contents(dirname(__FILE__) . '/templates/' . $expected); + // apparently the template engine does not put + // the trailing newline into compiled templates + $expected = trim($expected); + $this->setExpectedTriggerError($error, $expected); + $this->run_template($file, $vars, $block_vars, $destroy, '', $cache_file); + } } diff --git a/tests/template/templates/invalid/include_nonexistent_file.html b/tests/template/templates/invalid/include_nonexistent_file.html new file mode 100644 index 0000000000..617d2fdaaa --- /dev/null +++ b/tests/template/templates/invalid/include_nonexistent_file.html @@ -0,0 +1 @@ + diff --git a/tests/template/templates/invalid/output/include_nonexistent_file.html b/tests/template/templates/invalid/output/include_nonexistent_file.html new file mode 100644 index 0000000000..8a118d2713 --- /dev/null +++ b/tests/template/templates/invalid/output/include_nonexistent_file.html @@ -0,0 +1 @@ +style resource locator: File for handle nonexistent.html does not exist. Could not find: -- cgit v1.2.1 From 241033ae88fdaa4aa45da0ee70b94f636e6d0360 Mon Sep 17 00:00:00 2001 From: Oleg Pudeyev Date: Mon, 11 Jun 2012 18:50:05 -0400 Subject: [ticket/10882] Fix test name - oops. PHPBB3-10882 --- tests/template/invalid_constructs_test.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/template') diff --git a/tests/template/invalid_constructs_test.php b/tests/template/invalid_constructs_test.php index 2430b5b9b1..19d192b8b6 100644 --- a/tests/template/invalid_constructs_test.php +++ b/tests/template/invalid_constructs_test.php @@ -9,7 +9,7 @@ require_once dirname(__FILE__) . '/template_test_case.php'; -class phpbb_template_template_test extends phpbb_template_template_test_case +class phpbb_template_invalid_constructs_test extends phpbb_template_template_test_case { public function template_data() { -- cgit v1.2.1 From d3bbde69c441a5d795a16e66c9cc7a9194f42218 Mon Sep 17 00:00:00 2001 From: Andreas Fischer Date: Sun, 8 Jul 2012 22:53:45 +0200 Subject: [ticket/10973] Drop all require_once for mocks. Use autoloading. PHPBB3-10973 --- tests/template/template_test_case.php | 1 - 1 file changed, 1 deletion(-) (limited to 'tests/template') diff --git a/tests/template/template_test_case.php b/tests/template/template_test_case.php index dd0acba6cd..6f76cb049d 100644 --- a/tests/template/template_test_case.php +++ b/tests/template/template_test_case.php @@ -8,7 +8,6 @@ */ require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php'; -require_once dirname(__FILE__) . '/../mock/extension_manager.php'; class phpbb_template_template_test_case extends phpbb_test_case { -- cgit v1.2.1