mirror of
https://github.com/phpbb/phpbb.git
synced 2025-04-20 07:42:09 +02:00
[ticket/11850] Fix extract current page test
PHPBB3-11850
This commit is contained in:
parent
d85ae0f7bc
commit
2ee22d4615
@ -14,7 +14,7 @@ abstract class phpbb_security_test_base extends phpbb_test_case
|
||||
*/
|
||||
protected function setUp()
|
||||
{
|
||||
global $user, $phpbb_root_path, $request;
|
||||
global $user, $phpbb_root_path, $phpEx, $request, $symfony_request, $phpbb_filesystem;
|
||||
|
||||
// Put this into a global function being run by every test to init a proper user session
|
||||
$server['HTTP_HOST'] = 'localhost';
|
||||
@ -37,6 +37,22 @@ abstract class phpbb_security_test_base extends phpbb_test_case
|
||||
*/
|
||||
|
||||
$request = new phpbb_mock_request(array(), array(), array(), $server);
|
||||
$symfony_request = $this->getMock("phpbb_symfony_request", array(), array(
|
||||
$request,
|
||||
));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getScriptName')
|
||||
->will($this->returnValue($server['SCRIPT_NAME']));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getQueryString')
|
||||
->will($this->returnValue($server['QUERY_STRING']));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getBasePath')
|
||||
->will($this->returnValue($server['REQUEST_URI']));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getPathInfo')
|
||||
->will($this->returnValue('/'));
|
||||
$phpbb_filesystem = new phpbb_filesystem($symfony_request, $phpbb_root_path, $phpEx);
|
||||
|
||||
// Set no user and trick a bit to circumvent errors
|
||||
$user = new phpbb_user();
|
||||
|
@ -26,13 +26,23 @@ class phpbb_security_extract_current_page_test extends phpbb_security_test_base
|
||||
*/
|
||||
public function test_query_string_php_self($url, $query_string, $expected)
|
||||
{
|
||||
global $request;
|
||||
global $symfony_request, $request;
|
||||
|
||||
$request->merge(phpbb_request_interface::SERVER, array(
|
||||
'PHP_SELF' => $url,
|
||||
'QUERY_STRING' => $query_string,
|
||||
$symfony_request = $this->getMock("phpbb_symfony_request", array(), array(
|
||||
$request,
|
||||
));
|
||||
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getScriptName')
|
||||
->will($this->returnValue($url));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getQueryString')
|
||||
->will($this->returnValue($query_string));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getBasePath')
|
||||
->will($this->returnValue($server['REQUEST_URI']));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getPathInfo')
|
||||
->will($this->returnValue('/'));
|
||||
$result = phpbb_session::extract_current_page('./');
|
||||
|
||||
$label = 'Running extract_current_page on ' . $query_string . ' with PHP_SELF filled.';
|
||||
@ -44,12 +54,23 @@ class phpbb_security_extract_current_page_test extends phpbb_security_test_base
|
||||
*/
|
||||
public function test_query_string_request_uri($url, $query_string, $expected)
|
||||
{
|
||||
global $request;
|
||||
global $symfony_request, $request;
|
||||
|
||||
$request->merge(phpbb_request_interface::SERVER, array(
|
||||
'PHP_SELF' => $url,
|
||||
'QUERY_STRING' => $query_string,
|
||||
$symfony_request = $this->getMock("phpbb_symfony_request", array(), array(
|
||||
$request,
|
||||
));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getScriptName')
|
||||
->will($this->returnValue($url));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getQueryString')
|
||||
->will($this->returnValue($query_string));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getBasePath')
|
||||
->will($this->returnValue($server['REQUEST_URI']));
|
||||
$symfony_request->expects($this->any())
|
||||
->method('getPathInfo')
|
||||
->will($this->returnValue('/'));
|
||||
|
||||
$result = phpbb_session::extract_current_page('./');
|
||||
|
||||
@ -57,4 +78,3 @@ class phpbb_security_extract_current_page_test extends phpbb_security_test_base
|
||||
$this->assertEquals($expected, $result['query_string'], $label);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user