diff options
23 files changed, 329 insertions, 37 deletions
diff --git a/.travis.yml b/.travis.yml index 6a1ecedac4..42d7b201fa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,11 +10,14 @@ env:    - DB=postgres  before_script: -  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'DROP DATABASE IF EXISTS phpbb_tests;' -U postgres; fi" -  - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'create database phpbb_tests;' -U postgres; fi" +  - sh -c "if [ '$DB' = 'postgres' ]; then psql -c 'DROP DATABASE IF EXISTS phpbb_tests;' -U postgres; fi" +  - sh -c "if [ '$DB' = 'postgres' ]; then psql -c 'create database phpbb_tests;' -U postgres; fi"    - sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'create database IF NOT EXISTS phpbb_tests;'; fi"    - sh -c "if [ '$TRAVIS_PHP_VERSION' = '5.2' ]; then pear install --force phpunit/DbUnit; else pyrus install --force phpunit/DbUnit; fi"    - phpenv rehash +  - cd phpBB +  - sh -c "if [ '$TRAVIS_PHP_VERSION' != '5.2' ]; then php ../composer.phar install --dev; fi" +  - cd ..  script:    - phpunit --configuration travis/phpunit-$DB-travis.xml diff --git a/build/build.xml b/build/build.xml index a624050750..4a3799d143 100644 --- a/build/build.xml +++ b/build/build.xml @@ -11,9 +11,9 @@  	<property name="versions" value="${oldversions}, ${newversion}" />  	<!-- These are the main targets which you will probably want to use --> -	<target name="package" depends="clean,prepare,create-package" /> -	<target name="all" depends="clean,prepare,test,docs,create-package" /> -	<target name="build" depends="clean,prepare,test,docs" /> +	<target name="package" depends="clean,prepare,composer,create-package" /> +	<target name="all" depends="clean,prepare,composer,test,docs,create-package" /> +	<target name="build" depends="clean,prepare,composer,test,docs" />  	<target name="prepare">  		<mkdir dir="build/logs" /> @@ -43,7 +43,13 @@  		<delete dir="build/save" />  	</target> -	<target name="test" depends="clean,prepare"> +	<target name="composer" depends="clean,prepare"> +		<exec dir="./phpBB/" +			command="php ../composer.phar install" +			passthru="true" /> +	</target> + +	<target name="test" depends="clean,prepare,composer">  		<exec dir="."  			command="phpunit --log-junit build/logs/phpunit.xml  			--coverage-clover build/logs/clover.xml @@ -51,7 +57,7 @@  			passthru="true" />  	</target> -	<target name="test-slow" depends="clean,prepare"> +	<target name="test-slow" depends="clean,prepare,composer">  		<exec dir="."  			command="phpunit --log-junit build/logs/phpunit.xml  			--configuration phpunit.xml.all @@ -155,6 +161,11 @@  		<exec dir="phpBB"  			command="git archive ${revision} | tar -xf - -C ../${dir}"  			checkreturn="true" /> + +		<exec dir="${dir}" +			command="php ../composer.phar install" +			passthru="true" /> +  		<delete file="${dir}/config.php" />  		<delete dir="${dir}/develop" />  		<delete dir="${dir}/install/data" /> diff --git a/composer.phar b/composer.phar Binary files differnew file mode 100755 index 0000000000..8b6eddbf21 --- /dev/null +++ b/composer.phar diff --git a/phpBB/composer.json b/phpBB/composer.json new file mode 100644 index 0000000000..c2811ad1d7 --- /dev/null +++ b/phpBB/composer.json @@ -0,0 +1,6 @@ +{ +	"minimum-stability": "beta", +	"require-dev": { +		"fabpot/goutte": "1.0.x-dev" +	} +} diff --git a/phpBB/composer.lock b/phpBB/composer.lock new file mode 100644 index 0000000000..9f2195e70a --- /dev/null +++ b/phpBB/composer.lock @@ -0,0 +1,55 @@ +{ +    "hash": "a5d02c59e3a91c84c1a96aca0f1ae81a", +    "packages": [ + +    ], +    "packages-dev": [ +        { +            "package": "fabpot/goutte", +            "version": "dev-master", +            "alias-pretty-version": "1.0.x-dev", +            "alias-version": "1.0.9999999.9999999-dev" +        }, +        { +            "package": "fabpot/goutte", +            "version": "dev-master", +            "source-reference": "c2ea8d9a6682d14482e57ede2371001b8a5238d2", +            "commit-date": "1340264258" +        }, +        { +            "package": "guzzle/guzzle", +            "version": "v2.6.6" +        }, +        { +            "package": "symfony/browser-kit", +            "version": "v2.1.0-BETA3" +        }, +        { +            "package": "symfony/css-selector", +            "version": "v2.1.0-BETA3" +        }, +        { +            "package": "symfony/dom-crawler", +            "version": "v2.1.0-BETA3" +        }, +        { +            "package": "symfony/event-dispatcher", +            "version": "v2.1.0-BETA3" +        }, +        { +            "package": "symfony/finder", +            "version": "v2.1.0-BETA3" +        }, +        { +            "package": "symfony/process", +            "version": "v2.1.0-BETA3" +        } +    ], +    "aliases": [ + +    ], +    "minimum-stability": "beta", +    "stability-flags": { +        "fabpot/goutte": 20 +    } +} diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php index 496ac22e90..7b1fff40fb 100644 --- a/phpBB/develop/create_schema_files.php +++ b/phpBB/develop/create_schema_files.php @@ -237,7 +237,7 @@ $supported_dbms = array('firebird', 'mssql', 'mysql_40', 'mysql_41', 'oracle', '  foreach ($supported_dbms as $dbms)  { -	$fp = fopen($schema_path . $dbms . '_schema.sql', 'wt'); +	$fp = fopen($schema_path . $dbms . '_schema.sql', 'wb');  	$line = ''; diff --git a/phpBB/includes/constants.php b/phpBB/includes/constants.php index f8296a8e84..17c25ee3c6 100644 --- a/phpBB/includes/constants.php +++ b/phpBB/includes/constants.php @@ -25,7 +25,7 @@ if (!defined('IN_PHPBB'))  */  // phpBB Version -define('PHPBB_VERSION', '3.0.11-RC2'); +define('PHPBB_VERSION', '3.0.12-dev');  // QA-related  // define('PHPBB_QA', 1); diff --git a/phpBB/includes/db/mssqlnative.php b/phpBB/includes/db/mssqlnative.php index c91cc188b0..ff2f369706 100644 --- a/phpBB/includes/db/mssqlnative.php +++ b/phpBB/includes/db/mssqlnative.php @@ -436,7 +436,7 @@ class dbal_mssqlnative extends dbal  				unset($row['line2'], $row['line3']);  			}  		} -		return $row; +		return (sizeof($row)) ? $row : false;  	}  	/** diff --git a/phpBB/includes/search/fulltext_mysql.php b/phpBB/includes/search/fulltext_mysql.php index 779ec1d216..bd4c003397 100644 --- a/phpBB/includes/search/fulltext_mysql.php +++ b/phpBB/includes/search/fulltext_mysql.php @@ -747,7 +747,7 @@ class fulltext_mysql extends search_backend  		{  			if ($db->sql_layer == 'mysqli' || version_compare($db->sql_server_info(true), '4.1.3', '>='))  			{ -				//$alter[] = 'MODIFY post_subject varchar(100) COLLATE utf8_unicode_ci DEFAULT \'\' NOT NULL'; +				$alter[] = 'MODIFY post_subject varchar(255) COLLATE utf8_unicode_ci DEFAULT \'\' NOT NULL';  			}  			else  			{ diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 95b3401a7e..1addb761ca 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -8,7 +8,7 @@  *  */ -define('UPDATES_TO_VERSION', '3.0.11-RC2'); +define('UPDATES_TO_VERSION', '3.0.12-dev');  // Enter any version to update from to test updates. The version within the db will not be updated.  define('DEBUG_FROM_VERSION', false); diff --git a/phpBB/install/schemas/schema_data.sql b/phpBB/install/schemas/schema_data.sql index cdfb4edc66..b139857d28 100644 --- a/phpBB/install/schemas/schema_data.sql +++ b/phpBB/install/schemas/schema_data.sql @@ -246,7 +246,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('topics_per_page',  INSERT INTO phpbb_config (config_name, config_value) VALUES ('tpl_allow_php', '0');  INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_icons_path', 'images/upload_icons');  INSERT INTO phpbb_config (config_name, config_value) VALUES ('upload_path', 'files'); -INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.0.11-RC2'); +INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.0.12-dev');  INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_expire_days', '90');  INSERT INTO phpbb_config (config_name, config_value) VALUES ('warnings_gc', '14400'); diff --git a/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html b/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html index ce2a376768..d92abb06dd 100644 --- a/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html +++ b/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html @@ -23,10 +23,9 @@  	<div id="page-header">  		<h1>{SITENAME}</h1> -		<p>{SITE_DESCRIPTION}<br /><a href="{U_FORUM}">{U_FORUM}</a></p> +		<p>{SITE_DESCRIPTION}</p> -		<h2>{TOPIC_TITLE}</h2> -		<p><a href="{U_TOPIC}">{U_TOPIC}</a></p> +		<h2>{L_PRIVATE_MESSAGING}</h2>  	</div>  	<div id="page-body"> diff --git a/tests/RUNNING_TESTS.txt b/tests/RUNNING_TESTS.txt index b976545c22..7c2a7c3fce 100644 --- a/tests/RUNNING_TESTS.txt +++ b/tests/RUNNING_TESTS.txt @@ -51,6 +51,27 @@ test_config.php file:        PHPBB_TEST_DBNAME='database' PHPBB_TEST_DBUSER='user' \        PHPBB_TEST_DBPASSWD='password' phpunit +Special Database Cases +---------------------- +In order to run tests on some of the databases that we support, it will be +necessary to provide a custom DSN string in test_config.php. This is only +needed for MSSQL 2000+ (PHP module), MSSQL via ODBC, and Firebird when +PDO_Firebird does not work on your system +(https://bugs.php.net/bug.php?id=61183). The variable must be named $custom_dsn. + +Examples: +Firebird using http://www.firebirdsql.org/en/odbc-driver/ +$custom_dsn = "Driver={Firebird/InterBase(r) driver};dbname=$dbhost:$dbname"; + +MSSQL +$custom_dsn = "Driver={SQL Server Native Client 10.0};Server=$dbhost;Database=$dbname"; + +The other fields in test_config.php should be filled out as you would normally +to connect to that database in phpBB. + +Additionally, you will need to be running the DbUnit fork from +https://github.com/phpbb/dbunit/tree/phpbb. +  Running  ======= diff --git a/tests/bbcode/url_bbcode_test.php b/tests/bbcode/url_bbcode_test.php index 15bdfc434f..6b5afe5808 100644 --- a/tests/bbcode/url_bbcode_test.php +++ b/tests/bbcode/url_bbcode_test.php @@ -11,7 +11,7 @@ require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';  require_once dirname(__FILE__) . '/../../phpBB/includes/functions_content.php';  require_once dirname(__FILE__) . '/../../phpBB/includes/bbcode.php';  require_once dirname(__FILE__) . '/../../phpBB/includes/message_parser.php'; -require_once dirname(__FILE__) . '/../mock_user.php'; +require_once dirname(__FILE__) . '/../mock/user.php';  class phpbb_url_bbcode_test extends phpbb_test_case  { diff --git a/tests/bootstrap.php b/tests/bootstrap.php index d6c5d25bc8..d687db622a 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -22,5 +22,20 @@ require_once 'test_framework/phpbb_database_test_connection_manager.php';  if (version_compare(PHP_VERSION, '5.3.0-dev', '>='))  { +	if (getenv('PHPBB_NO_COMPOSER_AUTOLOAD')) +	{ +		if (getenv('PHPBB_AUTOLOAD')) +		{ +			require(getenv('PHPBB_AUTOLOAD')); +		} +	} +	else +	{ +		if (!file_exists($phpbb_root_path . 'vendor/autoload.php')) +		{ +			trigger_error('You have not set up composer dependencies. See http://getcomposer.org/.', E_USER_ERROR); +		} +		require($phpbb_root_path . 'vendor/autoload.php'); +	}  	require_once 'test_framework/phpbb_functional_test_case.php';  } diff --git a/tests/mock_user.php b/tests/mock/user.php index ec14ce430e..ec14ce430e 100644 --- a/tests/mock_user.php +++ b/tests/mock/user.php diff --git a/tests/test_framework/phpbb_database_connection_odbc_pdo_wrapper.php b/tests/test_framework/phpbb_database_connection_odbc_pdo_wrapper.php new file mode 100644 index 0000000000..ec59fa3886 --- /dev/null +++ b/tests/test_framework/phpbb_database_connection_odbc_pdo_wrapper.php @@ -0,0 +1,37 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +if (!class_exists('PDO')) +{ +	return; +} + +/** +* Used for passing in information about the PDO driver +* since the PDO class reveals nothing about the DSN that +* the user provided. +* +* This is used in the custom PHPUnit ODBC driver +*/ +class phpbb_database_connection_odbc_pdo_wrapper extends PDO +{ +	// Name of the driver being used (i.e. mssql, firebird) +	public $driver = ''; + +	// Version number of driver since PDO::getAttribute(PDO::ATTR_CLIENT_VERSION) is pretty useless for this +	public $version = 0; + +	function __construct($dbms, $version, $dsn, $user, $pass) +	{ +		$this->driver = $dbms; +		$this->version = (double) $version; + +		parent::__construct($dsn, $user, $pass); +	} +} diff --git a/tests/test_framework/phpbb_database_test_case.php b/tests/test_framework/phpbb_database_test_case.php index e742b543b0..bb86df0ef0 100644 --- a/tests/test_framework/phpbb_database_test_case.php +++ b/tests/test_framework/phpbb_database_test_case.php @@ -28,6 +28,28 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test  		);  	} +	public function createXMLDataSet($path) +	{ +		$db_config = $this->get_database_config(); + +		// Firebird requires table and column names to be uppercase +		if ($db_config['dbms'] == 'firebird') +		{ +			$xml_data = file_get_contents($path); +			$xml_data = preg_replace_callback('/(?:(<table name="))([a-z_]+)(?:(">))/', 'phpbb_database_test_case::to_upper', $xml_data); +			$xml_data = preg_replace_callback('/(?:(<column>))([a-z_]+)(?:(<\/column>))/', 'phpbb_database_test_case::to_upper', $xml_data); + +			$new_fixture = tmpfile(); +			fwrite($new_fixture, $xml_data); +			fseek($new_fixture, 0); + +			$meta_data = stream_get_meta_data($new_fixture); +			$path = $meta_data['uri']; +		} + +		return parent::createXMLDataSet($path); +	} +  	public function get_test_case_helpers()  	{  		if (!$this->test_case_helpers) @@ -106,4 +128,17 @@ abstract class phpbb_database_test_case extends PHPUnit_Extensions_Database_Test  	{  		return new phpbb_database_test_connection_manager($config);  	} + +	/** +	* Converts a match in the middle of a string to uppercase. +	* This is necessary for transforming the fixture information for Firebird tests +	* +	* @param $matches The array of matches from a regular expression +	* +	* @return string The string with the specified match converted to uppercase +	*/ +	public static function to_upper($matches) +	{ +		return $matches[1] . strtoupper($matches[2]) . $matches[3]; +	}  } diff --git a/tests/test_framework/phpbb_database_test_connection_manager.php b/tests/test_framework/phpbb_database_test_connection_manager.php index dd022451b7..25e0972f42 100644 --- a/tests/test_framework/phpbb_database_test_connection_manager.php +++ b/tests/test_framework/phpbb_database_test_connection_manager.php @@ -8,6 +8,7 @@  */  require_once dirname(__FILE__) . '/../../phpBB/includes/functions_install.php'; +require_once dirname(__FILE__) . '/phpbb_database_connection_odbc_pdo_wrapper.php';  class phpbb_database_test_connection_manager  { @@ -62,6 +63,13 @@ class phpbb_database_test_connection_manager  				// e.g. Driver={SQL Server Native Client 10.0};Server=(local)\SQLExpress;  				$dsn .= $this->config['dbhost']; +				// Primarily for MSSQL Native/Azure as ODBC needs it in $dbhost, attached to the Server param +				if ($this->config['dbport']) +				{ +					$port_delimiter = (defined('PHP_OS') && substr(PHP_OS, 0, 3) === 'WIN') ? ',' : ':'; +					$dsn .= $port_delimiter . $this->config['dbport']; +				} +  				if ($use_db)  				{  					$dsn .= ';Database=' . $this->config['dbname']; @@ -80,12 +88,52 @@ class phpbb_database_test_connection_manager  				{  					$dsn .= ';dbname=' . $this->config['dbname'];  				} +				else if ($this->dbms['PDO'] == 'pgsql') +				{ +					// Postgres always connects to a +					// database. If the database is not +					// specified here, but the username +					// is specified, then connection +					// will be to the database named +					// as the username. +					// +					// For greater compatibility, connect +					// instead to postgres database which +					// should always exist: +					// http://www.postgresql.org/docs/9.0/static/manage-ag-templatedbs.html +					$dsn .= ';dbname=postgres'; +				}  			break;  		} +		// These require different connection strings on the phpBB side than they do in PDO +		// so you must provide a DSN string for ODBC separately +		if (!empty($this->config['custom_dsn']) && ($this->config['dbms'] == 'mssql' || $this->config['dbms'] == 'firebird')) +		{ +			$dsn = 'odbc:' . $this->config['custom_dsn']; +		} +  		try  		{ -			$this->pdo = new PDO($dsn, $this->config['dbuser'], $this->config['dbpasswd']); +			switch ($this->config['dbms']) +			{ +				case 'mssql': +				case 'mssql_odbc': +					$this->pdo = new phpbb_database_connection_odbc_pdo_wrapper('mssql', 0, $dsn, $this->config['dbuser'], $this->config['dbpasswd']); +				break; + +				case 'firebird': +					if (!empty($this->config['custom_dsn'])) +					{ +						$this->pdo = new phpbb_database_connection_odbc_pdo_wrapper('firebird', 0, $dsn, $this->config['dbuser'], $this->config['dbpasswd']); +						break; +					} +					// Fall through if they're using the firebird PDO driver and not the generic ODBC driver + +				default: +					$this->pdo = new PDO($dsn, $this->config['dbuser'], $this->config['dbpasswd']); +				break; +			}  		}  		catch (PDOException $e)  		{ @@ -93,8 +141,7 @@ class phpbb_database_test_connection_manager  			throw new Exception("Unable do connect to $cleaned_dsn using PDO with error: {$e->getMessage()}");  		} -		// good for debug -		// $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); +		$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  	}  	/** @@ -125,12 +172,41 @@ class phpbb_database_test_connection_manager  				}  			break; +			case 'firebird': +				$this->connect(); +				// Drop all of the tables +				foreach ($this->get_tables() as $table) +				{ +					$this->pdo->exec('DROP TABLE ' . $table); +				} +				$this->purge_extras(); +			break; + +			case 'oracle': +				$this->connect(); +				// Drop all of the tables +				foreach ($this->get_tables() as $table) +				{ +					$this->pdo->exec('DROP TABLE ' . $table . ' CASCADE CONSTRAINTS'); +				} +				$this->purge_extras(); +			break; +  			default:  				$this->connect(false);  				try  				{  					$this->pdo->exec('DROP DATABASE ' . $this->config['dbname']); + +					try +					{ +						$this->pdo->exec('CREATE DATABASE ' . $this->config['dbname']); +					} +					catch (PDOException $e) +					{ +						throw new Exception("Unable to re-create database: {$e->getMessage()}"); +					}  				}  				catch (PDOException $e)  				{ @@ -139,9 +215,8 @@ class phpbb_database_test_connection_manager  					{  						$this->pdo->exec('DROP TABLE ' . $table);  					} +					$this->purge_extras();  				} - -				$this->pdo->exec('CREATE DATABASE ' . $this->config['dbname']);  			 break;  		}  	} @@ -317,4 +392,44 @@ class phpbb_database_test_connection_manager  			throw new Exception($message);  		}  	} + +	/** +	* Removes extra objects from a database. This is for cases where dropping the database fails. +	*/ +	public function purge_extras() +	{ +		$this->ensure_connected(__METHOD__); +		$queries = array(); + +		switch ($this->config['dbms']) +		{ +			case 'firebird': +				$sql = 'SELECT RDB$GENERATOR_NAME +					FROM RDB$GENERATORS +					WHERE RDB$SYSTEM_FLAG = 0'; +				$result = $this->pdo->query($sql); + +				while ($row = $result->fetch(PDO::FETCH_NUM)) +				{ +					$queries[] = 'DROP GENERATOR ' . current($row); +				} +			break; + +			case 'oracle': +				$sql = 'SELECT sequence_name +					FROM USER_SEQUENCES'; +				$result = $this->pdo->query($sql); + +				while ($row = $result->fetch(PDO::FETCH_NUM)) +				{ +					$queries[] = 'DROP SEQUENCE ' . current($row); +				} +			break; +		} + +		foreach ($queries as $query) +		{ +			$this->pdo->exec($query); +		} +	}  } diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index 76fed76fae..ed8ce9d040 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -30,16 +30,6 @@ class phpbb_functional_test_case extends phpbb_test_case  	static protected $config = array();  	static protected $already_installed = false; -	static public function setUpBeforeClass() -	{ -		if (!extension_loaded('phar')) -		{ -			self::markTestSkipped('phar extension is not loaded'); -		} - -		require_once 'phar://' . __DIR__ . '/../../vendor/goutte.phar'; -	} -  	public function setUp()  	{  		if (!isset(self::$config['phpbb_functional_url'])) @@ -48,7 +38,10 @@ class phpbb_functional_test_case extends phpbb_test_case  		}  		$this->cookieJar = new CookieJar; -		$this->client = new Goutte\Client(array(), array(), null, $this->cookieJar); +		$this->client = new Goutte\Client(array(), null, $this->cookieJar); +		// Reset the curl handle because it is 0 at this point and not a valid +		// resource +		$this->client->getClient()->getCurlMulti()->reset(true);  		$this->root_url = self::$config['phpbb_functional_url'];  		// Clear the language array so that things  		// that were added in other tests are gone @@ -193,9 +186,9 @@ class phpbb_functional_test_case extends phpbb_test_case  		$cookies = $this->cookieJar->all();  		// The session id is stored in a cookie that ends with _sid - we assume there is only one such cookie -		foreach ($cookies as $key => $cookie); +		foreach ($cookies as $cookie);  		{ -			if (substr($key, -4) == '_sid') +			if (substr($cookie->getName(), -4) == '_sid')  			{  				$this->sid = $cookie->getValue();  			} diff --git a/tests/test_framework/phpbb_test_case_helpers.php b/tests/test_framework/phpbb_test_case_helpers.php index 2a3c27f9f9..29adfc6817 100644 --- a/tests/test_framework/phpbb_test_case_helpers.php +++ b/tests/test_framework/phpbb_test_case_helpers.php @@ -79,6 +79,7 @@ class phpbb_test_case_helpers  				'dbname'	=> $dbname,  				'dbuser'	=> $dbuser,  				'dbpasswd'	=> $dbpasswd, +				'custom_dsn'	=> isset($custom_dsn) ? $custom_dsn : '',  			));  			if (isset($phpbb_functional_url)) @@ -95,7 +96,8 @@ class phpbb_test_case_helpers  				'dbport'	=> isset($_SERVER['PHPBB_TEST_DBPORT']) ? $_SERVER['PHPBB_TEST_DBPORT'] : '',  				'dbname'	=> isset($_SERVER['PHPBB_TEST_DBNAME']) ? $_SERVER['PHPBB_TEST_DBNAME'] : '',  				'dbuser'	=> isset($_SERVER['PHPBB_TEST_DBUSER']) ? $_SERVER['PHPBB_TEST_DBUSER'] : '', -				'dbpasswd'	=> isset($_SERVER['PHPBB_TEST_DBPASSWD']) ? $_SERVER['PHPBB_TEST_DBPASSWD'] : '' +				'dbpasswd'	=> isset($_SERVER['PHPBB_TEST_DBPASSWD']) ? $_SERVER['PHPBB_TEST_DBPASSWD'] : '', +				'custom_dsn'	=> isset($_SERVER['PHPBB_TEST_CUSTOM_DSN']) ? $_SERVER['PHPBB_TEST_CUSTOM_DSN'] : '',  			));  		} diff --git a/tests/text_processing/censor_text_test.php b/tests/text_processing/censor_text_test.php index 8fcdb7ef85..f0e13638a5 100644 --- a/tests/text_processing/censor_text_test.php +++ b/tests/text_processing/censor_text_test.php @@ -9,7 +9,7 @@  require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';  require_once dirname(__FILE__) . '/../../phpBB/includes/functions_content.php'; -require_once dirname(__FILE__) . '/../mock_user.php'; +require_once dirname(__FILE__) . '/../mock/user.php';  require_once dirname(__FILE__) . '/../mock/cache.php';  class phpbb_text_processing_censor_text_test extends phpbb_test_case diff --git a/vendor/goutte.phar b/vendor/goutte.phar Binary files differdeleted file mode 100644 index 20b7166a67..0000000000 --- a/vendor/goutte.phar +++ /dev/null  | 
