mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-31 05:50:42 +02:00
[feature/request-class] Add server(), header() and is_ajax() to request
Extend the request class with helpers for reading server vars (server()) and HTTP request headers (header()). Refactor the existing code base to make use of these helpers, make $_SERVER a deactivated super global. Also introduce an is_ajax() method, which checks the X-Requested-With header for the value 'XMLHttpRequest', which is sent by JavaScript libraries, such as jQuery. PHPBB3-9716
This commit is contained in:
@@ -23,7 +23,6 @@ class phpbb_request_test extends phpbb_test_case
|
||||
$_GET['unset'] = '';
|
||||
|
||||
$this->type_cast_helper = $this->getMock('phpbb_request_type_cast_helper_interface');
|
||||
|
||||
$this->request = new phpbb_request($this->type_cast_helper);
|
||||
}
|
||||
|
||||
@@ -60,6 +59,20 @@ class phpbb_request_test extends phpbb_test_case
|
||||
$this->assertFalse($this->request->is_set_post('unset'));
|
||||
}
|
||||
|
||||
public function test_is_ajax_without_ajax()
|
||||
{
|
||||
$this->assertFalse($this->request->is_ajax());
|
||||
}
|
||||
|
||||
public function test_is_ajax_with_ajax()
|
||||
{
|
||||
$this->request->enable_super_globals();
|
||||
$_SERVER['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest';
|
||||
$this->request = new phpbb_request($this->type_cast_helper);
|
||||
|
||||
$this->assertTrue($this->request->is_ajax());
|
||||
}
|
||||
|
||||
public function test_variable_names()
|
||||
{
|
||||
$expected = array('test', 'unset');
|
||||
|
@@ -48,4 +48,14 @@ class phpbb_type_cast_helper_test extends phpbb_test_case
|
||||
|
||||
$this->assertEquals($expected, $data);
|
||||
}
|
||||
|
||||
public function test_simple_set_var_without_html_encoding()
|
||||
{
|
||||
$data = 'eviL<3';
|
||||
$expected = 'eviL<3';
|
||||
|
||||
$this->type_cast_helper->recursive_set_var($data, '', true, false);
|
||||
|
||||
$this->assertEquals($expected, $data);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user