diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/avatar/manager_test.php | 4 | ||||
| -rw-r--r-- | tests/dbal/fixtures/migrator_permission.xml | 134 | ||||
| -rw-r--r-- | tests/dbal/migrator_tool_permission_test.php | 62 | ||||
| -rw-r--r-- | tests/functional/feed_test.php | 2 | ||||
| -rw-r--r-- | tests/functional/posting_test.php | 81 | ||||
| -rw-r--r-- | tests/functions/fixtures/user_delete.xml | 46 | ||||
| -rw-r--r-- | tests/functions/user_delete_test.php | 112 | ||||
| -rw-r--r-- | tests/functions_acp/build_cfg_template_test.php | 2 | ||||
| -rw-r--r-- | tests/functions_user/delete_user_test.php | 10 | ||||
| -rw-r--r-- | tests/lint_test.php | 2 | ||||
| -rw-r--r-- | tests/search/mysql_test.php | 3 | ||||
| -rw-r--r-- | tests/search/native_test.php | 3 | ||||
| -rw-r--r-- | tests/search/postgres_test.php | 3 | ||||
| -rw-r--r-- | tests/template/template_includecss_test.php | 15 | ||||
| -rw-r--r-- | tests/test_framework/phpbb_functional_test_case.php | 20 | 
15 files changed, 472 insertions, 27 deletions
diff --git a/tests/avatar/manager_test.php b/tests/avatar/manager_test.php index a109a7b5de..9b97fa6a68 100644 --- a/tests/avatar/manager_test.php +++ b/tests/avatar/manager_test.php @@ -56,6 +56,8 @@ class phpbb_avatar_manager_test extends \phpbb_database_test_case  		);  		$guesser = new \phpbb\mimetype\guesser($guessers); +		$dispatcher = new phpbb_mock_event_dispatcher(); +  		// $this->avatar_foobar will be needed later on  		$this->avatar_foobar = $this->getMock('\phpbb\avatar\driver\foobar', array('get_name'), array($this->config, $phpbb_root_path, $phpEx, $path_helper, $cache));  		$this->avatar_foobar->expects($this->any()) @@ -76,7 +78,7 @@ class phpbb_avatar_manager_test extends \phpbb_database_test_case  			}  			else  			{ -				$cur_avatar = $this->getMock('\phpbb\avatar\driver\\' . $driver, array('get_name'), array($this->config, $phpbb_root_path, $phpEx, $path_helper, $guesser, $cache)); +				$cur_avatar = $this->getMock('\phpbb\avatar\driver\\' . $driver, array('get_name'), array($this->config, $phpbb_root_path, $phpEx, $path_helper, $guesser, $dispatcher, $cache));  			}  			$cur_avatar->expects($this->any())  				->method('get_name') diff --git a/tests/dbal/fixtures/migrator_permission.xml b/tests/dbal/fixtures/migrator_permission.xml index 08cec42a42..c07956fa85 100644 --- a/tests/dbal/fixtures/migrator_permission.xml +++ b/tests/dbal/fixtures/migrator_permission.xml @@ -27,5 +27,139 @@  			<value>1</value>  			<value>0</value>  		</row> +		<row> +			<value>4</value> +			<value>a_test</value> +			<value>1</value> +			<value>0</value> +			<value>0</value> +		</row> +		<row> +			<value>5</value> +			<value>m_test</value> +			<value>1</value> +			<value>0</value> +			<value>0</value> +		</row> +		<row> +			<value>6</value> +			<value>u_test</value> +			<value>1</value> +			<value>0</value> +			<value>0</value> +		</row> +	</table> + +	<table name="phpbb_groups"> +		<column>group_id</column> +		<column>group_name</column> +		<column>group_desc</column> +		<row> +			<value>2</value> +			<value>REGISTERED</value> +			<value></value> +		</row> +		<row> +			<value>4</value> +			<value>GLOBAL_MODERATORS</value> +			<value></value> +		</row> +		<row> +			<value>5</value> +			<value>ADMINISTRATORS</value> +			<value></value> +		</row> +	</table> + +	<table name="phpbb_acl_groups"> +		<column>group_id</column> +		<column>auth_role_id</column> +		<column>forum_id</column> +		<row> +			<value>2</value> +			<value>5</value> +			<value>0</value> +		</row> +		<row> +			<value>4</value> +			<value>5</value> +			<value>0</value> +		</row> +		<row> +			<value>4</value> +			<value>10</value> +			<value>0</value> +		</row> +		<row> +			<value>5</value> +			<value>1</value> +			<value>0</value> +		</row> +		<row> +			<value>5</value> +			<value>5</value> +			<value>0</value> +		</row> +	</table> + +	<table name="phpbb_acl_roles"> +		<column>role_id</column> +		<column>role_name</column> +		<column>role_type</column> +		<column>role_description</column> +		<row> +			<value>1</value> +			<value>ROLE_ADMIN_STANDARD</value> +			<value>a_</value> +			<value></value> +		</row> +		<row> +			<value>5</value> +			<value>ROLE_USER_FULL</value> +			<value>u_</value> +			<value></value> +		</row> +		<row> +			<value>10</value> +			<value>ROLE_MOD_FULL</value> +			<value>m_</value> +			<value></value> +		</row> +	</table> + +	<table name="phpbb_acl_roles_data"> +		<column>role_id</column> +		<column>auth_option_id</column> +		<column>auth_setting</column> +		<row> +			<value>1</value> +			<value>4</value> +			<value>0</value> +		</row> +		<row> +			<value>1</value> +			<value>5</value> +			<value>0</value> +		</row> +		<row> +			<value>1</value> +			<value>6</value> +			<value>0</value> +		</row> +		<row> +			<value>6</value> +			<value>6</value> +			<value>0</value> +		</row> +		<row> +			<value>10</value> +			<value>5</value> +			<value>0</value> +		</row> +		<row> +			<value>10</value> +			<value>6</value> +			<value>0</value> +		</row>  	</table>  </dataset> diff --git a/tests/dbal/migrator_tool_permission_test.php b/tests/dbal/migrator_tool_permission_test.php index 4453fbf123..2d673864f7 100644 --- a/tests/dbal/migrator_tool_permission_test.php +++ b/tests/dbal/migrator_tool_permission_test.php @@ -15,6 +15,12 @@ require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';  class phpbb_dbal_migrator_tool_permission_test extends phpbb_database_test_case  { +	public $group_ids = array( +		'REGISTERED' => 2, +		'GLOBAL_MODERATORS' => 4, +		'ADMINISTRATORS' => 5, +	); +  	public function getDataSet()  	{  		return $this->createXMLDataSet(dirname(__FILE__).'/fixtures/migrator_permission.xml'); @@ -158,4 +164,60 @@ class phpbb_dbal_migrator_tool_permission_test extends phpbb_database_test_case  		}  		$this->assertFalse($this->tool->exists('global_test', true));  	} + +	public function test_permission_set_data() +	{ +		return array( +			array( +				'ADMINISTRATORS', +				'a_test', +				'group', +				true, +			), +			array( +				'GLOBAL_MODERATORS', +				'm_test', +				'group', +				true, +			), +			array( +				'REGISTERED', +				'u_test', +				'group', +				true, +			), +		); +	} + +	/** +	* @dataProvider test_permission_set_data +	*/ +	public function test_permission_set($group_name, $auth_option, $type, $has_permission) +	{ +		$this->tool->permission_set($group_name, $auth_option, $type, $has_permission); +		$administrators_perm = $this->auth->acl_group_raw_data($this->group_ids['ADMINISTRATORS'], $auth_option); +		$global_moderators_perm = $this->auth->acl_group_raw_data($this->group_ids['GLOBAL_MODERATORS'], $auth_option); +		$registered_users_perm = $this->auth->acl_group_raw_data($this->group_ids['REGISTERED'], $auth_option); + +		switch($group_name) +		{ +			case 'GLOBAL_MODERATORS': +				$this->assertEquals(false, empty($administrators_perm), 'm_test is not empty for Administrators'); +				$this->assertEquals(false, empty($global_moderators_perm), 'm_test is not empty for Global moderators'); +				$this->assertEquals(true, empty($registered_users_perm), 'm_test empty for Registered users'); +			break; + +			case 'ADMINISTRATORS': +				$this->assertEquals(false, empty($administrators_perm), 'a_test is not empty for Administrators'); +				$this->assertEquals(true, empty($global_moderators_perm), 'a_test is empty for Global moderators'); +				$this->assertEquals(true, empty($registered_users_perm), 'a_test is empty for Registered users'); +			break; + +			case 'REGISTERED': +				$this->assertEquals(false, empty($administrators_perm), 'u_test is not empty for Administrators'); +				$this->assertEquals(false, empty($global_moderators_perm), 'u_test is not empty for Global moderators'); +				$this->assertEquals(false, empty($registered_users_perm), 'u_test is not empty for Registered users'); +			break; +		} +	}  } diff --git a/tests/functional/feed_test.php b/tests/functional/feed_test.php index 9041c8dc69..ad5c4a5cab 100644 --- a/tests/functional/feed_test.php +++ b/tests/functional/feed_test.php @@ -1395,7 +1395,7 @@ class phpbb_functional_feed_test extends phpbb_functional_test_case  					foreach ($attachments as $i => $attachment)  					{  						$content = $crawler->filterXPath("//entry[{$entry_id}]/content")->text(); -						$url = "./download/file.php?id={$attachment['id']}"; +						$url = self::$root_url . "download/file.php?id={$attachment['id']}";  						$string = "Attachment #{$i}";  						if ($attachment['displayed']) diff --git a/tests/functional/posting_test.php b/tests/functional/posting_test.php index fd802eed45..33632a01e1 100644 --- a/tests/functional/posting_test.php +++ b/tests/functional/posting_test.php @@ -59,4 +59,85 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case  			'Your subject contains the following unsupported characters'  		);  	} + +	/** +	* @testdox max_quote_depth is applied to the text populating the posting form +	*/ +	public function test_quote_depth_form() +	{ +		$text = '0[quote]1[quote]2[/quote]1[/quote]0'; +		$expected = array( +			0 => '[quote="admin"]0[quote]1[quote]2[/quote]1[/quote]0[/quote]', +			1 => '[quote="admin"]00[/quote]', +			2 => '[quote="admin"]0[quote]11[/quote]0[/quote]', +			3 => '[quote="admin"]0[quote]1[quote]2[/quote]1[/quote]0[/quote]', +		); + +		$this->login(); +		$topic = $this->create_topic(2, 'Test Topic 1', 'Test topic'); +		$post  = $this->create_post(2, $topic['topic_id'], 'Re: Test Topic 1', $text); +		$quote_url = "posting.php?mode=quote&f=2&t={$post['topic_id']}&p={$post['post_id']}&sid={$this->sid}"; + +		$this->admin_login(); +		foreach ($expected as $quote_depth => $expected_text) +		{ +			$this->set_quote_depth($quote_depth); +			$crawler = self::request('GET', $quote_url); +			$this->assertContains($expected_text, $crawler->filter('textarea#message')->text()); +		} +	} + +	/** +	* @testdox max_quote_depth is applied to the submitted text +	*/ +	public function test_quote_depth_submit() +	{ +		$text = 'depth:0[quote]depth:1[quote]depth:2[quote]depth:3[/quote][/quote][/quote]'; +		$contains = array( +			0 => array('depth:0', 'depth:1', 'depth:2', 'depth:3'), +			1 => array('depth:0', 'depth:1'), +			2 => array('depth:0', 'depth:1', 'depth:2'), +			3 => array('depth:0', 'depth:1', 'depth:2', 'depth:3'), +		); +		$not_contains = array( +			0 => array(), +			1 => array('depth:2', 'depth:3'), +			2 => array('depth:3'), +			3 => array(), +		); + +		$this->login(); +		$this->admin_login(); +		$topic = $this->create_topic(2, 'Test Topic 1', 'Test topic'); + +		for ($quote_depth = 0; $quote_depth <= 2; ++$quote_depth) +		{ +			$this->set_quote_depth($quote_depth); + +			$post = $this->create_post(2, $topic['topic_id'], 'Re: Test Topic 1', $text); +			$url  = "viewtopic.php?p={$post['post_id']}&sid={$this->sid}"; + +			$crawler = self::request('GET', $url); +			$text_content = $crawler->filter('#p' . $post['post_id'])->text(); +			foreach ($contains[$quote_depth] as $contains_text) +			{ +				$this->assertContains($contains_text, $text_content); +			} +			foreach ($not_contains[$quote_depth] as $not_contains_text) +			{ +				$this->assertNotContains($not_contains_text, $text_content); +			} +		} +	} + +	protected function set_quote_depth($depth) +	{ +		$crawler = self::request('GET', 'adm/index.php?sid=' . $this->sid . '&i=acp_board&mode=post'); +		$form = $crawler->selectButton('Submit')->form(); +		$values = $form->getValues(); +		$values['config[max_quote_depth]'] = $depth; +		$form->setValues($values); +		$crawler = self::submit($form); +		$this->assertEquals(1, $crawler->filter('.successbox')->count()); +	}  } diff --git a/tests/functions/fixtures/user_delete.xml b/tests/functions/fixtures/user_delete.xml new file mode 100644 index 0000000000..4c4479d29b --- /dev/null +++ b/tests/functions/fixtures/user_delete.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<dataset> +	<table name="phpbb_users"> +		<column>user_id</column> +		<column>username_clean</column> +		<column>username</column> +		<column>user_permissions</column> +		<column>user_sig</column> +		<row> +			<value>1</value> +			<value>anonymous</value> +			<value>anonymous</value> +			<value></value> +			<value></value> +		</row> +		<row> +			<value>2</value> +			<value>2</value> +			<value>2</value> +			<value></value> +			<value></value> +		</row> +	</table> +	<table name="phpbb_oauth_accounts"> +		<column>user_id</column> +		<column>provider</column> +		<column>oauth_provider_id</column> +		<row> +			<value>2</value> +			<value>google</value> +			<value>1234567890123456789</value> +		</row> +	</table> +	<table name="phpbb_oauth_tokens"> +		<column>user_id</column> +		<column>session_id</column> +		<column>provider</column> +		<column>oauth_token</column> +		<row> +			<value>2</value> +			<value>897a897b797c8789997d7979879</value> +			<value>auth.provider.oauth.service.google</value> +			<value>{"accessToken":"ya29.YPHwCWVkrvwu1kgbYKiDNYaQ451ZuHy9OEQAGVME8if-WBzR-v7a9ftxbx41kaL)5VLEXB-6qJEvri","endOfLife":1429959670,"extraParams":{"token_type":"Bearer","id_token":"eyJhbGciOiJSUzI1NiIsImupZCI6IjE0YuRjNzc2MDQwYjUyNDZmNTI5OWFkZDVlMmQ1NWNOPTdjMDdlZTAifQ.eyJpc3MiOiJhY2NvdW90cy5nb78nbGUuY29tIiwic3ViIjoiMTExMDMwNwerNjM4MTM5NTQwMTM1IiwiYXpwIjoiOTk3MzUwMTY0NzE0LWhwOXJrYjZpcjM4MW80YjV1NjRpaGtmM29zMnRvbWxhLmFwcHMuZ29vZ2xldXNlcmNvbnRlbnQuY29tIiwiZW1haWwiOiJtYXJjLmFsZXhhbmRlci4zN0BnbWFpbC5jb20iLCJhdF9oYXNoIjoiWHk2b1JabnVZUWRfRTZDeDV0RkItdyIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdWQiOiI5OTczNTAxNjQ3MTQtaHA5cmtiNmlyMzgxbzRiNXU2NGloa2Yzb3MydG9tbGEuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJpYXQiOjE0Mjk5NTYwNzEsImV4cCI6MTQyOTk1OTY3MX0.C5gfSzjqwlRRvVMuTP6jfWIuEHMXn55oYHsSA3eh97n2BZL0TZHhUm4K206Fgucd6ufAphan4l0J7y6tMAHLZPr-kk6KDINxWnPG-up99reblGutay0lRYjMCcrhJAOql8EI1bi84GyliZFYHL67pE0ZtSf-CMb1CeH18TFe-Fk"},"refreshToken":null,"token_class":"OAuth\\\\OAuth2\\\\Token\\\\StdOAuth2Token"}</value> +		</row> +	</table> +</dataset> diff --git a/tests/functions/user_delete_test.php b/tests/functions/user_delete_test.php new file mode 100644 index 0000000000..db52dcded7 --- /dev/null +++ b/tests/functions/user_delete_test.php @@ -0,0 +1,112 @@ +<?php +/** +* +* This file is part of the phpBB Forum Software package. +* +* @copyright (c) phpBB Limited <https://www.phpbb.com> +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php'; +require_once dirname(__FILE__) . '/../../phpBB/includes/functions_user.php'; + +class phpbb_functions_user_delete_test extends phpbb_database_test_case +{ +	/** @var \phpbb\db\driver\driver_interface */ +	protected $db; + +	public function getDataSet() +	{ +		return $this->createXMLDataSet(dirname(__FILE__) . '/fixtures/user_delete.xml'); +	} + +	protected function setUp() +	{ +		parent::setUp(); + +		global $cache, $config, $db, $phpbb_container, $phpbb_dispatcher, $user; + +		$this->db = $db = $this->new_dbal(); +		$user = new \phpbb\user('\phpbb\datetime'); +		$phpbb_dispatcher = new phpbb_mock_event_dispatcher(); +		$phpbb_container = new phpbb_mock_container_builder(); +		$config = new \phpbb\config\config(array( +			'auth_method' => 'oauth', +			'auth_oauth_google_key'	=> 'foo', +			'auth_oauth_google_secret'	=> 'bar', +		)); +		set_config_count('foobar', 0, false, $config); +		$cache = new \phpbb\cache\driver\null(); +		$request = new phpbb_mock_request(); +		$notification_manager = new phpbb_mock_notification_manager(); +		$provider_collection =  new \phpbb\auth\provider_collection($phpbb_container, $config); +		$oauth_provider_google = new \phpbb\auth\provider\oauth\service\google($config, $request); +		$oauth_provider_collection = new \phpbb\di\service_collection($phpbb_container); +		$oauth_provider_collection->offsetSet('auth.provider.oauth.service.google', $oauth_provider_google); + +		$driver_helper = new \phpbb\passwords\driver\helper($config); +		$passwords_drivers = array( +			'passwords.driver.bcrypt_2y'	=> new \phpbb\passwords\driver\bcrypt_2y($config, $driver_helper), +			'passwords.driver.bcrypt'		=> new \phpbb\passwords\driver\bcrypt($config, $driver_helper), +			'passwords.driver.salted_md5'	=> new \phpbb\passwords\driver\salted_md5($config, $driver_helper), +			'passwords.driver.phpass'		=> new \phpbb\passwords\driver\phpass($config, $driver_helper), +		); + +		$passwords_helper = new \phpbb\passwords\helper; +		// Set up passwords manager +		$passwords_manager = new \phpbb\passwords\manager($config, $passwords_drivers, $passwords_helper, array_keys($passwords_drivers)); + +		$oauth_provider = new \phpbb\auth\provider\oauth\oauth( +			$db, +			$config, +			$passwords_manager, +			$request, +			$user, +			'phpbb_oauth_tokens', +			'phpbb_oauth_accounts', +			$oauth_provider_collection, +			'phpbb_users', +			$phpbb_container, +			$this->phpbb_root_path, +			$this->php_ext +		); +		$provider_collection->offsetSet('auth.provider.oauth', $oauth_provider); + +		$phpbb_container->set('auth.provider.oauth', $oauth_provider); +		$phpbb_container->set('auth.provider.oauth.service.google', $oauth_provider_google); +		$phpbb_container->set('auth.provider_collection', $provider_collection); +		$phpbb_container->set('notification_manager', $notification_manager); +	} + +	public function test_user_delete() +	{ +		// Check that user is linked +		$sql = 'SELECT ot.user_id AS user_id +			FROM phpbb_oauth_accounts oa, phpbb_oauth_tokens ot +			WHERE oa.user_id = 2 +				AND ot.user_id = oa.user_id'; +		$result = $this->db->sql_query($sql); +		$row = $this->db->sql_fetchrow($result); +		$this->db->sql_freeresult($result); + +		$this->assertEquals(array('user_id' => '2'), $row); + +		// user_delete() should return false +		$this->assertFalse(user_delete('remove', array(2))); + +		// Make sure user link was removed +		$sql = 'SELECT ot.user_id AS user_id +			FROM phpbb_oauth_accounts oa, phpbb_oauth_tokens ot +			WHERE oa.user_id = 2 +				AND ot.user_id = oa.user_id'; +		$result = $this->db->sql_query($sql); +		$row = $this->db->sql_fetchrow($result); +		$this->db->sql_freeresult($result); + +		$this->assertEmpty($row); +	} +} diff --git a/tests/functions_acp/build_cfg_template_test.php b/tests/functions_acp/build_cfg_template_test.php index 8ae78b97db..a8d7ae6f09 100644 --- a/tests/functions_acp/build_cfg_template_test.php +++ b/tests/functions_acp/build_cfg_template_test.php @@ -32,7 +32,7 @@ class phpbb_functions_acp_build_cfg_template_test extends phpbb_test_case  				array('config_key_name'	=> '2'),  				'config_key_name',  				array(), -				'<input id="key_name" type="password" size="20" maxlength="128" name="config[config_key_name]" value="2" autocomplete="off" />', +				'<input id="key_name" type="password" size="20" maxlength="128" name="config[config_key_name]" value="********" autocomplete="off" />',  			),  			array(  				array('text', 0, 255), diff --git a/tests/functions_user/delete_user_test.php b/tests/functions_user/delete_user_test.php index d5c78c64ad..7db69e332c 100644 --- a/tests/functions_user/delete_user_test.php +++ b/tests/functions_user/delete_user_test.php @@ -38,6 +38,16 @@ class phpbb_functions_user_delete_user_test extends phpbb_database_test_case  		$phpbb_dispatcher = new phpbb_mock_event_dispatcher();  		$phpbb_container = new phpbb_mock_container_builder();  		$phpbb_container->set('notification_manager', new phpbb_mock_notification_manager()); +		$phpbb_container->set( +			'auth.provider.db', +			new phpbb_mock_auth_provider() +		); +		$provider_collection = new \phpbb\auth\provider_collection($phpbb_container, $config); +		$provider_collection->add('auth.provider.db'); +		$phpbb_container->set( +			'auth.provider_collection', +			$provider_collection +		);  	}  	 public function first_last_post_data() diff --git a/tests/lint_test.php b/tests/lint_test.php index fb43196bae..70046bdfd2 100644 --- a/tests/lint_test.php +++ b/tests/lint_test.php @@ -84,6 +84,8 @@ class phpbb_lint_test extends phpbb_test_case  					dirname(__FILE__) . '/../build/new_version',  					dirname(__FILE__) . '/../build/old_versions',  					dirname(__FILE__) . '/../phpBB/cache', +					dirname(__FILE__) . '/../phpBB/ext', +					dirname(__FILE__) . '/../phpBB/store',  					// PHP Fatal error:  Cannot declare class Container because the name is already in use in /var/www/projects/phpbb3/tests/../phpBB/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php on line 20  					// https://gist.github.com/e003913ffd493da63cbc  					dirname(__FILE__) . '/../phpBB/vendor', diff --git a/tests/search/mysql_test.php b/tests/search/mysql_test.php index c0c16456f4..3a791f5e81 100644 --- a/tests/search/mysql_test.php +++ b/tests/search/mysql_test.php @@ -37,8 +37,9 @@ class phpbb_search_mysql_test extends phpbb_search_common_test_case  		$config['fulltext_mysql_max_word_len'] = 254;  		$this->db = $this->new_dbal(); +		$phpbb_dispatcher = new phpbb_mock_event_dispatcher();  		$error = null;  		$class = self::get_search_wrapper('\phpbb\search\fulltext_mysql'); -		$this->search = new $class($error, $phpbb_root_path, $phpEx, null, $config, $this->db, $user); +		$this->search = new $class($error, $phpbb_root_path, $phpEx, null, $config, $this->db, $user, $phpbb_dispatcher);  	}  } diff --git a/tests/search/native_test.php b/tests/search/native_test.php index 61fde7d098..29d0d0a8d3 100644 --- a/tests/search/native_test.php +++ b/tests/search/native_test.php @@ -33,11 +33,12 @@ class phpbb_search_native_test extends phpbb_search_test_case  		$cache = new phpbb_mock_cache();  		$this->db = $this->new_dbal(); +		$phpbb_dispatcher = new phpbb_mock_event_dispatcher();  		$error = null;  		$class = self::get_search_wrapper('\phpbb\search\fulltext_native');  		$config['fulltext_native_min_chars'] = 2;  		$config['fulltext_native_max_chars'] = 14; -		$this->search = new $class($error, $phpbb_root_path, $phpEx, null, $config, $this->db, $user); +		$this->search = new $class($error, $phpbb_root_path, $phpEx, null, $config, $this->db, $user, $phpbb_dispatcher);  	}  	public function keywords() diff --git a/tests/search/postgres_test.php b/tests/search/postgres_test.php index f96d71e2bc..97cca0e70c 100644 --- a/tests/search/postgres_test.php +++ b/tests/search/postgres_test.php @@ -37,8 +37,9 @@ class phpbb_search_postgres_test extends phpbb_search_common_test_case  		$config['fulltext_postgres_max_word_len'] = 254;  		$this->db = $this->new_dbal(); +		$phpbb_dispatcher = new phpbb_mock_event_dispatcher();  		$error = null;  		$class = self::get_search_wrapper('\phpbb\search\fulltext_postgres'); -		$this->search = new $class($error, $phpbb_root_path, $phpEx, null, $config, $this->db, $user); +		$this->search = new $class($error, $phpbb_root_path, $phpEx, null, $config, $this->db, $user, $phpbb_dispatcher);  	}  } diff --git a/tests/template/template_includecss_test.php b/tests/template/template_includecss_test.php index 49bd9dec8b..b025cd21d5 100644 --- a/tests/template/template_includecss_test.php +++ b/tests/template/template_includecss_test.php @@ -55,13 +55,6 @@ class phpbb_template_template_includecss_test extends phpbb_template_template_te  	public function template_data()  	{ -		$url_base = explode('/', dirname(__FILE__)); -		foreach ($url_base as &$dir) -		{ -			$dir = rawurlencode($dir); -		} -		$url_base = implode('/', $url_base); -  		return array(  			/*  			array( @@ -71,19 +64,19 @@ class phpbb_template_template_includecss_test extends phpbb_template_template_te  			*/  			array(  				array('TEST' => 1), -				'<link href="tests/template/templates/child_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen, projection" />', +				'<link href="tests/template/templates/child_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />',  			),  			array(  				array('TEST' => 2), -				'<link href="tests/template/parent_templates/parent_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen, projection" />', +				'<link href="tests/template/parent_templates/parent_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />',  			),  			array(  				array('TEST' => 3), -				'<link href="' . $url_base . '/ext/include/css/styles/all/theme/test.css?assets_version=1" rel="stylesheet" type="text/css" media="screen, projection" />', +				'<link href="tests/template/ext/include/css/styles/all/theme/test.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />',  			),  			array(  				array('TEST' => 4), -				'<link href="' . $url_base . '/ext/include/css/styles/all/theme/child_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen, projection" />', +				'<link href="tests/template/ext/include/css/styles/all/theme/child_only.css?assets_version=1" rel="stylesheet" type="text/css" media="screen" />',  			),  		);  	} diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index 844caa8f54..d403831626 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -854,15 +854,15 @@ class phpbb_functional_test_case extends phpbb_test_case  	*/  	static public function assert_response_html($status_code = 200)  	{ -		if ($status_code !== false) -		{ -			self::assert_response_status_code($status_code); -		} -  		// Any output before the doc type means there was an error  		$content = self::$client->getResponse()->getContent();  		self::assertNotContains('[phpBB Debug]', $content);  		self::assertStringStartsWith('<!DOCTYPE', trim($content), 'Output found before DOCTYPE specification.'); + +		if ($status_code !== false) +		{ +			self::assert_response_status_code($status_code); +		}  	}  	/* @@ -875,15 +875,15 @@ class phpbb_functional_test_case extends phpbb_test_case  	*/  	static public function assert_response_xml($status_code = 200)  	{ -		if ($status_code !== false) -		{ -			self::assert_response_status_code($status_code); -		} -  		// Any output before the xml opening means there was an error  		$content = self::$client->getResponse()->getContent();  		self::assertNotContains('[phpBB Debug]', $content);  		self::assertStringStartsWith('<?xml', trim($content), 'Output found before XML specification.'); + +		if ($status_code !== false) +		{ +			self::assert_response_status_code($status_code); +		}  	}  	/**  | 
