diff options
Diffstat (limited to 'tests/functions')
-rw-r--r-- | tests/functions/parse_cfg_file_test.php | 97 |
1 files changed, 97 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..daa0062c96 --- /dev/null +++ b/tests/functions/parse_cfg_file_test.php @@ -0,0 +1,97 @@ +<?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( + '# +# 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( + 'name = subsilver2 +copyright = © 2005 phpBB Group +version = 3.0.12', + array( + 'name' => 'subsilver2', + 'copyright' => '© 2005 phpBB Group', + 'version' => '3.0.12', + ), + ), + array( + 'foo = yes +foo1 = true +foo2 = 1 +bar = no +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( + 'foo = & bar +bar = <a href="test">Test</a>', + array( + 'foo' => '&amp; bar', + 'bar' => '<a href='test'>Test</a>', + ), + ), + ); + } + + /** + * @dataprovider parse_cfg_file_data + */ + public function test_parse_cfg_file($file_contents, $expected) + { + $lines = explode("\n", $file_contents); + $this->assertEquals($expected, parse_cfg_file(false, $lines)); + } +} |