diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2014-06-14 11:34:32 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2014-06-14 11:34:32 +0200 |
commit | 828e995f032d631ba9f8176524c4d3ff2e5c8ee7 (patch) | |
tree | 9cb5c7cdb6babd9eb952ba1762e9fddbeea7ece8 /tests/text_processing/make_clickable_test.php | |
parent | 99c3ca18be101ee414125335dee34dbf952fd05d (diff) | |
download | forums-828e995f032d631ba9f8176524c4d3ff2e5c8ee7.tar forums-828e995f032d631ba9f8176524c4d3ff2e5c8ee7.tar.gz forums-828e995f032d631ba9f8176524c4d3ff2e5c8ee7.tar.bz2 forums-828e995f032d631ba9f8176524c4d3ff2e5c8ee7.tar.xz forums-828e995f032d631ba9f8176524c4d3ff2e5c8ee7.zip |
[ticket/12705] Break calling make_clickable with a different server_url
PHPBB3-12705
Diffstat (limited to 'tests/text_processing/make_clickable_test.php')
-rw-r--r-- | tests/text_processing/make_clickable_test.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/text_processing/make_clickable_test.php b/tests/text_processing/make_clickable_test.php index 2c78391453..95e304dd97 100644 --- a/tests/text_processing/make_clickable_test.php +++ b/tests/text_processing/make_clickable_test.php @@ -104,5 +104,50 @@ class phpbb_text_processing_make_clickable_test extends phpbb_test_case $this->assertEquals($expected, $result, $label); } + public function make_clickable_mixed_serverurl_data() + { + $urls = array( + 'http://thisdomain.org' => array('tag' => 'm', 'url' => false, 'text' => false), + 'http://thisdomain.org/' => array('tag' => 'm', 'url' => false, 'text' => false), + 'http://thisdomain.org/1' => array('tag' => 'm', 'url' => false, 'text' => false), + 'http://thisdomain.org/path/some?query=abc#test' => array('tag' => 'm', 'url' => false, 'text' => false), + + 'https://www.phpbb.com' => array('tag' => 'm', 'url' => false, 'text' => false), + 'https://www.phpbb.com/' => array('tag' => 'm', 'url' => false, 'text' => false), + 'https://www.phpbb.com/1' => array('tag' => 'l', 'url' => false, 'text' => '1'), + 'https://www.phpbb.com/path/some?query=abc#test' => array('tag' => 'l', 'url' => false, 'text' => 'path/some?query=abc#test'), + ); + + $test_data = array(); + + // run the test for each combination + foreach ($urls as $url => $url_type) + { + // false means it's the same as the url, less typing + $url_type['url'] = ($url_type['url']) ? $url_type['url'] : $url; + $url_type['text'] = ($url_type['text']) ? $url_type['text'] : $url; + + $class = ($url_type['tag'] === 'l') ? 'postlink-local' : 'postlink'; + + // replace the url with the desired output format + $output = '<!-- ' . $url_type['tag'] . ' --><a class="' . $class . '" href="' . $url_type['url'] . '">' . $url_type['text'] . '</a><!-- ' . $url_type['tag'] . ' -->'; + + $test_data[] = array($url, $output); + } + + return $test_data; + } + + /** + * @dataProvider make_clickable_mixed_serverurl_data + */ + public function test_make_clickable_mixed_serverurl($input, $expected) + { + $result = make_clickable($input, 'https://www.phpbb.com'); + + $label = 'Making text clickable: ' . $input; + $this->assertEquals($expected, $result, $label); + } + } |