1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-06 16:56:44 +02:00

[feature/request-class] Refactored request class and wrapper functions.

The request class
- now makes use of the new type cast helper (dependency injection)
- has no static methods anymore.
- now has a constructor argument to leave super globals turned on

Brought back the set_var function in functions.php. It is now a wrapper
around the type cast helper. It creates an instance on the fly.

The request_var wrapper function now has an optional last argument to
inject the request class instance, rather than abusing the $var_name.

PHPBB3-9716
This commit is contained in:
Nils Adermann
2010-03-13 11:19:28 +01:00
parent 85b6d3b9a1
commit ea919ad8b2
6 changed files with 56 additions and 173 deletions

View File

@@ -15,6 +15,7 @@ if (!defined('PHPUnit_MAIN_METHOD'))
require_once 'test_framework/framework.php';
require_once 'PHPUnit/TextUI/TestRunner.php';
require_once 'request/type_cast_helper.php';
require_once 'request/deactivated_super_global.php';
require_once 'request/request.php';
require_once 'request/request_var.php';
@@ -30,9 +31,10 @@ class phpbb_request_all_tests
{
$suite = new PHPUnit_Framework_TestSuite('phpBB Request Parameter Handling');
$suite->addTestSuite('phpbb_request_deactivated_super_global_test');
$suite->addTestSuite('phpbb_type_cast_helper_test');
$suite->addTestSuite('phpbb_deactivated_super_global_test');
$suite->addTestSuite('phpbb_request_test');
$suite->addTestSuite('phpbb_request_request_var_test');
$suite->addTestSuite('phpbb_request_var_test');
return $suite;
}

View File

@@ -11,12 +11,12 @@
require_once 'test_framework/framework.php';
require_once '../phpBB/includes/request/deactivated_super_global.php';
class phpbb_request_deactivated_super_global_test extends phpbb_test_case
class phpbb_deactivated_super_global_test extends phpbb_test_case
{
/**
* Checks that on write access the correct error is thrown
*/
public function test_write_results_in_error()
public function test_write_triggers_error()
{
$this->setExpectedTriggerError(E_USER_ERROR);
$obj = new phpbb_deactivated_super_global($this->getMock('phpbb_request_interface'), 'obj', phpbb_request_interface::POST);

View File

@@ -9,6 +9,8 @@
*/
require_once 'test_framework/framework.php';
require_once '../phpBB/includes/request/type_cast_helper_interface.php';
require_once '../phpBB/includes/request/type_cast_helper.php';
require_once '../phpBB/includes/request/request_interface.php';
require_once '../phpBB/includes/request/deactivated_super_global.php';
require_once '../phpBB/includes/request/request.php';
@@ -62,16 +64,6 @@ class phpbb_request_test extends phpbb_test_case
$this->assertFalse($this->request->is_set_post('unset'));
}
public function test_addslashes_recursively()
{
$data = array('some"string' => array('that"' => 'really"', 'needs"' => '"escaping'));
$expected = array('some\\"string' => array('that\\"' => 'really\\"', 'needs\\"' => '\\"escaping'));
phpbb_request::addslashes_recursively($data);
$this->assertEquals($expected, $data);
}
public function test_variable_names()
{
$expected = array('test', 'unset');

View File

@@ -8,12 +8,14 @@
*/
require_once 'test_framework/framework.php';
require_once '../phpBB/includes/request/request_interface.php';
require_once '../phpBB/includes/request/type_cast_helper_interface.php';
require_once '../phpBB/includes/request/type_cast_helper.php';
require_once '../phpBB/includes/request/deactivated_super_global.php';
require_once '../phpBB/includes/request/request_interface.php';
require_once '../phpBB/includes/request/request.php';
require_once '../phpBB/includes/functions.php';
class phpbb_request_request_var_test extends phpbb_test_case
class phpbb_request_var_test extends phpbb_test_case
{
/**
* @dataProvider request_variables