1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-11 19:24:01 +02:00

Merge branch '3.2.x'

This commit is contained in:
Marc Alexander
2018-11-11 13:56:25 +01:00
25 changed files with 142 additions and 376 deletions

View File

@@ -46,7 +46,6 @@ class phpbb_console_command_thumbnail_test extends phpbb_database_test_case
$config = $this->config = new \phpbb\config\config(array(
'img_min_thumb_filesize' => 2,
'img_max_thumb_width' => 2,
'img_imagick' => '',
));
$this->db = $this->db = $this->new_dbal();

View File

@@ -1,78 +0,0 @@
<?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.
*
*/
/**
* @group functional
*/
class phpbb_functional_acp_attachments_test extends phpbb_functional_test_case
{
public function data_imagick_path_linux()
{
return array(
array('/usr/bin', 'Configuration updated successfully'),
array('/usr/foobar', 'The entered path “/usr/foobar” does not exist.'),
array('/usr/bin/which', 'The entered path “/usr/bin/which” is not a directory.'),
);
}
/**
* @dataProvider data_imagick_path_linux
*/
public function test_imagick_path_linux($imagick_path, $expected)
{
if (strtolower(substr(PHP_OS, 0, 5)) !== 'linux')
{
$this->markTestSkipped('Unable to test linux specific paths on other OS.');
}
$this->login();
$this->admin_login();
$crawler = self::request('GET', 'adm/index.php?i=attachments&mode=attach&sid=' . $this->sid);
$form = $crawler->selectButton('Submit')->form(array('config[img_imagick]' => $imagick_path));
$crawler = self::submit($form);
$this->assertContains($expected, $crawler->filter('#main')->text());
}
public function data_imagick_path_windows()
{
return array(
array('C:\Windows', 'Configuration updated successfully'),
array('C:\Windows\foobar1', 'The entered path “C:\Windows\foobar1” does not exist.'),
array('C:\Windows\explorer.exe', 'The entered path “C:\Windows\explorer.exe” is not a directory.'),
);
}
/**
* @dataProvider data_imagick_path_windows
*/
public function test_imagick_path_windows($imagick_path, $expected)
{
if (strtolower(substr(PHP_OS, 0, 3)) !== 'win')
{
$this->markTestSkipped('Unable to test windows specific paths on other OS.');
}
$this->login();
$this->admin_login();
$crawler = self::request('GET', 'adm/index.php?i=attachments&mode=attach&sid=' . $this->sid);
$form = $crawler->selectButton('Submit')->form(array('config[img_imagick]' => $imagick_path));
$crawler = self::submit($form);
$this->assertContains($expected, $crawler->filter('#main')->text());
}
}

View File

@@ -99,7 +99,6 @@ class phpbb_functional_fileupload_form_test extends phpbb_functional_test_case
$form = $crawler->selectButton('Submit')->form(array(
'config[check_attachment_content]' => 0,
'config[img_imagick]' => '',
));
self::submit($form);

View File

@@ -161,100 +161,4 @@ class phpbb_functions_acp_validate_config_vars_test extends phpbb_test_case
$this->assertEquals($expected, $phpbb_error);
}
public function data_validate_path_linux()
{
return array(
array('/usr/bin', 'absolute_path', true),
array('/usr/bin/', 'absolute_path:50:200', true),
array('/usr/bin/which', 'absolute_path', 'DIRECTORY_NOT_DIR'),
array('/foo/bar', 'absolute_path', 'DIRECTORY_DOES_NOT_EXIST'),
array('C:\Windows', 'absolute_path', 'DIRECTORY_DOES_NOT_EXIST'),
array('.', 'absolute_path', true),
array('', 'absolute_path', true),
array('mkdir /foo/bar', 'absolute_path', 'DIRECTORY_DOES_NOT_EXIST'),
// Make sure above command didn't do anything
array('/foo/bar', 'absolute_path', 'DIRECTORY_DOES_NOT_EXIST'),
);
}
/**
* @dataProvider data_validate_path_linux
*/
public function test_validate_path_linux($path, $validation_type, $expected)
{
if (strtolower(substr(PHP_OS, 0, 5)) !== 'linux')
{
$this->markTestSkipped('Unable to test linux specific paths on other OS.');
}
$error = array();
$config_ary = array(
'path' => $path,
);
validate_config_vars(array(
'path' => array('lang' => 'FOOBAR', 'validate' => $validation_type),
),
$config_ary,
$error
);
if ($expected === true)
{
$this->assertEmpty($error);
}
else
{
$this->assertEquals(array($expected), $error);
}
}
public function data_validate_path_windows()
{
return array(
array('C:\Windows', 'absolute_path', true),
array('C:\Windows\\', 'absolute_path:50:200', true),
array('C:\Windows\explorer.exe', 'absolute_path', 'DIRECTORY_NOT_DIR'),
array('C:\foobar', 'absolute_path', 'DIRECTORY_DOES_NOT_EXIST'),
array('/usr/bin', 'absolute_path', 'DIRECTORY_DOES_NOT_EXIST'),
array('.', 'absolute_path', true),
array('', 'absolute_path', true),
array('mkdir C:\Windows\foobar', 'absolute_path', 'DIRECTORY_DOES_NOT_EXIST'),
// Make sure above command didn't do anything
array('C:\Windows\foobar', 'absolute_path', 'DIRECTORY_DOES_NOT_EXIST'),
);
}
/**
* @dataProvider data_validate_path_windows
*/
public function test_validate_path_windows($path, $validation_type, $expected)
{
if (strtolower(substr(PHP_OS, 0, 3)) !== 'win')
{
$this->markTestSkipped('Unable to test windows specific paths on other OS.');
}
$error = array();
$config_ary = array(
'path' => $path,
);
validate_config_vars(array(
'path' => array('lang' => 'FOOBAR', 'validate' => $validation_type),
),
$config_ary,
$error
);
if ($expected === true)
{
$this->assertEmpty($error);
}
else
{
$this->assertEquals(array($expected), $error);
}
}
}