Skip to content

Commit 2d1e426

Browse files
prxu
authored andcommitted
[ticket/217] Silence errors in tests, not code.
Use a mock user object for testing bbcode. PHPBB3-217
1 parent d44b6ba commit 2d1e426

3 files changed

Lines changed: 25 additions & 1 deletion

File tree

phpBB/includes/message_parser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -975,7 +975,7 @@ function validate_url($var1, $var2)
975975
}
976976

977977
// Is this a link to somewhere inside this board? If so then remove the session id from the url
978-
if (strpos($url, @generate_board_url()) !== false && strpos($url, 'sid=') !== false)
978+
if (strpos($url, generate_board_url()) !== false && strpos($url, 'sid=') !== false)
979979
{
980980
$url = preg_replace('/(&|\?)sid=[0-9a-f]{32}&/', '\1', $url);
981981
$url = preg_replace('/(&|\?)sid=[0-9a-f]{32}$/', '', $url);

tests/bbcode/url_bbcode_test.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
require_once dirname(__FILE__) . '/../../phpBB/includes/functions_content.php';
1212
require_once dirname(__FILE__) . '/../../phpBB/includes/bbcode.php';
1313
require_once dirname(__FILE__) . '/../../phpBB/includes/message_parser.php';
14+
require_once dirname(__FILE__) . '/../mock_user.php';
1415

1516
class phpbb_url_bbcode_test extends phpbb_test_case
1617
{
@@ -30,6 +31,9 @@ public function url_bbcode_test_data()
3031
*/
3132
public function test_url($message)
3233
{
34+
global $user;
35+
$user = new phpbb_mock_user;
36+
3337
$bbcode = new bbcode_firstpass();
3438
$bbcode->message = $message;
3539
$bbcode->bbcode_init(false);

tests/mock_user.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?php
2+
/**
3+
*
4+
* @package testing
5+
* @copyright (c) 2011 phpBB Group
6+
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
7+
*
8+
*/
9+
10+
/**
11+
* Mock user class.
12+
* This class is used when tests invoke phpBB code expecting to have a global
13+
* user object, to avoid instantiating the actual user object.
14+
* It has a minimum amount of functionality, just to make tests work.
15+
*/
16+
class phpbb_mock_user
17+
{
18+
public $host = "testhost";
19+
public $page = array('root_script_path' => '/');
20+
}

0 commit comments

Comments
 (0)