aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-03-14 13:53:55 +0100
committerJoas Schilling <nickvergessen@gmx.de>2014-03-14 13:53:55 +0100
commit943e4e35eef80b9ebe689e6b1933a405575962c3 (patch)
tree99ae55450680609dc2ee4979f6f8020c13aeda02 /tests
parent03eb23cbae5281a0e75274e52d54e2b9250de99a (diff)
parenta6b274e8aba3558065b290f243891e846cc726a3 (diff)
downloadforums-943e4e35eef80b9ebe689e6b1933a405575962c3.tar
forums-943e4e35eef80b9ebe689e6b1933a405575962c3.tar.gz
forums-943e4e35eef80b9ebe689e6b1933a405575962c3.tar.bz2
forums-943e4e35eef80b9ebe689e6b1933a405575962c3.tar.xz
forums-943e4e35eef80b9ebe689e6b1933a405575962c3.zip
Merge remote-tracking branch 'exreaction/ticket/12202' into develop-olympus
* exreaction/ticket/12202: [ticket/12202] Use an array in the data provider instead of exploding manually [ticket/12202] Can't call htmlspecialchars before checking for quotes [ticket/12202] Fix tests [ticket/12202] Test for parse_cfg_file [ticket/12202] Use copyright symbol in style.cfg files [ticket/12202] Apply htmlspecialchars to style.cfg data
Diffstat (limited to 'tests')
-rw-r--r--tests/functions/parse_cfg_file_test.php103
1 files changed, 103 insertions, 0 deletions
diff --git a/tests/functions/parse_cfg_file_test.php b/tests/functions/parse_cfg_file_test.php
new file mode 100644
index 0000000000..69000ddf72
--- /dev/null
+++ b/tests/functions/parse_cfg_file_test.php
@@ -0,0 +1,103 @@
+<?php
+/**
+*
+* @package testing
+* @copyright (c) 2014 phpBB Group
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+*
+*/
+
+require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
+
+class phpbb_functions_parse_cfg_file extends phpbb_test_case
+{
+ public function parse_cfg_file_data()
+ {
+ return array(
+ array(
+ array(
+ '#',
+ '# phpBB Style Configuration File',
+ '#',
+ '# @package phpBB3',
+ '# @copyright (c) 2005 phpBB Group',
+ '# @license http://opensource.org/licenses/gpl-license.php GNU Public License',
+ '#',
+ '#',
+ '# At the left is the name, please do not change this',
+ '# At the right the value is entered',
+ '# For on/off options the valid values are on, off, 1, 0, true and false',
+ '#',
+ '# Values get trimmed, if you want to add a space in front or at the end of',
+ '# the value, then enclose the value with single or double quotes.',
+ '# Single and double quotes do not need to be escaped.',
+ '#',
+ '',
+ '# General Information about this style',
+ 'name = prosilver',
+ 'copyright = © phpBB Group, 2007',
+ 'version = 3.0.12',
+ ),
+ array(
+ 'name' => 'prosilver',
+ 'copyright' => '© phpBB Group, 2007',
+ 'version' => '3.0.12',
+ ),
+ ),
+ array(
+ array(
+ 'name = subsilver2',
+ 'copyright = © 2005 phpBB Group',
+ 'version = 3.0.12',
+ ),
+ array(
+ 'name' => 'subsilver2',
+ 'copyright' => '© 2005 phpBB Group',
+ 'version' => '3.0.12',
+ ),
+ ),
+ array(
+ array(
+ 'foo = on',
+ 'foo1 = true',
+ 'foo2 = 1',
+ 'bar = off',
+ 'bar1 = false',
+ 'bar2 = 0',
+ 'foobar =',
+ 'foobar1 = "asdf"',
+ 'foobar2 = \'qwer\'',
+ ),
+ array(
+ 'foo' => true,
+ 'foo1' => true,
+ 'foo2' => true,
+ 'bar' => false,
+ 'bar1' => false,
+ 'bar2' => false,
+ 'foobar' => '',
+ 'foobar1' => 'asdf',
+ 'foobar2' => 'qwer',
+ ),
+ ),
+ array(
+ array(
+ 'foo = &amp; bar',
+ 'bar = <a href="test">Test</a>',
+ ),
+ array(
+ 'foo' => '&amp;amp; bar',
+ 'bar' => '&lt;a href=&quot;test&quot;&gt;Test&lt;/a&gt;',
+ ),
+ ),
+ );
+ }
+
+ /**
+ * @dataProvider parse_cfg_file_data
+ */
+ public function test_parse_cfg_file($file_contents, $expected)
+ {
+ $this->assertEquals($expected, parse_cfg_file(false, $file_contents));
+ }
+}