aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCesar G <prototech91@gmail.com>2014-02-27 23:33:39 -0800
committerCesar G <prototech91@gmail.com>2014-04-22 15:21:02 -0700
commit47f8a6375f12d9ca18b88432a8d2e51d168909fe (patch)
treeffd6620ee8873bd06d6f5cb04c10c4401816094b /tests/path_helper
parent[ticket/11508] Do not add the '?' unless there are parameters. (diff)
downloadphpbb-47f8a6375f12d9ca18b88432a8d2e51d168909fe.tar.gz
phpbb-47f8a6375f12d9ca18b88432a8d2e51d168909fe.tar.bz2
phpbb-47f8a6375f12d9ca18b88432a8d2e51d168909fe.zip
[ticket/11508] Add tests.
PHPBB3-11508
Diffstat (limited to 'tests/path_helper')
-rw-r--r--tests/path_helper/path_helper_test.php (renamed from tests/path_helper/web_root_path_test.php)138
1 files changed, 137 insertions, 1 deletions
diff --git a/tests/path_helper/web_root_path_test.php b/tests/path_helper/path_helper_test.php
index ec04135997..e77ad6d343 100644
--- a/tests/path_helper/web_root_path_test.php
+++ b/tests/path_helper/path_helper_test.php
@@ -7,7 +7,7 @@
*
*/
-class phpbb_path_helper_web_root_path_test extends phpbb_test_case
+class phpbb_path_helper_test extends phpbb_test_case
{
protected $path_helper;
protected $phpbb_root_path = '';
@@ -176,4 +176,140 @@ class phpbb_path_helper_web_root_path_test extends phpbb_test_case
{
$this->assertEquals($expected, $this->path_helper->clean_url($input));
}
+
+ public function glue_url_params_data()
+ {
+ return array(
+ array(
+ array(),
+ '',
+ ),
+ array(
+ array('test' => 'xyz'),
+ 'test=xyz',
+ ),
+ array(
+ array('test' => 'xyz', 'var' => 'value'),
+ 'test=xyz&amp;var=value',
+ ),
+ );
+ }
+
+ /**
+ * @dataProvider glue_url_params_data
+ */
+ public function test_glue_url_params($params, $expected)
+ {
+ $this->assertEquals($expected, $this->path_helper->glue_url_params($params));
+ }
+
+ public function get_url_parts_data()
+ {
+ return array(
+ array(
+ 'viewtopic.php',
+ true,
+ array('base' => 'viewtopic.php', 'params' => array()),
+ ),
+ array(
+ './viewtopic.php?t=5&amp;f=6',
+ true,
+ array('base' => './viewtopic.php', 'params' => array('t' => '5', 'f' => '6')),
+ ),
+ array(
+ 'viewtopic.php?t=5&f=6',
+ false,
+ array('base' => 'viewtopic.php', 'params' => array('t' => '5', 'f' => '6')),
+ ),
+ array(
+ 'https://phpbb.com/community/viewtopic.php?t=5&amp;f=6',
+ true,
+ array('base' => 'https://phpbb.com/community/viewtopic.php', 'params' => array('t' => '5', 'f' => '6')),
+ ),
+ );
+ }
+
+ /**
+ * @dataProvider get_url_parts_data
+ */
+ public function test_get_url_parts($url, $is_amp, $expected)
+ {
+ $this->assertEquals($expected, $this->path_helper->get_url_parts($url, $is_amp));
+ }
+
+ public function strip_url_params_data()
+ {
+ return array(
+ array(
+ 'viewtopic.php',
+ 'sid',
+ false,
+ 'viewtopic.php',
+ ),
+ array(
+ './viewtopic.php?t=5&amp;f=6',
+ 'f',
+ true,
+ './viewtopic.php?t=5',
+ ),
+ array(
+ 'viewtopic.php?t=5&f=6&sid=19adc288814103cbb4625e74e77455aa',
+ array('t'),
+ false,
+ 'viewtopic.php?f=6&amp;sid=19adc288814103cbb4625e74e77455aa',
+ ),
+ array(
+ 'https://phpbb.com/community/viewtopic.php?t=5&amp;f=6',
+ array('t', 'f'),
+ true,
+ 'https://phpbb.com/community/viewtopic.php',
+ ),
+ );
+ }
+
+ /**
+ * @dataProvider strip_url_params_data
+ */
+ public function test_strip_url_params($url, $strip, $is_amp, $expected)
+ {
+ $this->assertEquals($expected, $this->path_helper->strip_url_params($url, $strip, $is_amp));
+ }
+
+ public function append_url_params_data()
+ {
+ return array(
+ array(
+ 'viewtopic.php',
+ array(),
+ false,
+ 'viewtopic.php',
+ ),
+ array(
+ './viewtopic.php?t=5&amp;f=6',
+ array('t' => '7'),
+ true,
+ './viewtopic.php?t=7&amp;f=6',
+ ),
+ array(
+ 'viewtopic.php?t=5&f=6&sid=19adc288814103cbb4625e74e77455aa',
+ array('p' => '5'),
+ false,
+ 'viewtopic.php?t=5&amp;f=6&amp;p=5&amp;sid=19adc288814103cbb4625e74e77455aa',
+ ),
+ array(
+ 'https://phpbb.com/community/viewtopic.php',
+ array('t' => '7', 'f' => '8'),
+ true,
+ 'https://phpbb.com/community/viewtopic.php?t=7&amp;f=8',
+ ),
+ );
+ }
+
+ /**
+ * @dataProvider append_url_params_data
+ */
+ public function test_append_url_params($url, $params, $is_amp, $expected)
+ {
+ $this->assertEquals($expected, $this->path_helper->append_url_params($url, $params, $is_amp));
+ }
}