[ticket/13568] Add imagick tests for windows

PHPBB3-13568
This commit is contained in:
Marc Alexander 2015-02-02 20:39:58 +01:00
parent d50cec998c
commit ffe0e46e82

View file

@ -16,23 +16,25 @@
*/ */
class phpbb_functional_acp_attachments_test extends phpbb_functional_test_case class phpbb_functional_acp_attachments_test extends phpbb_functional_test_case
{ {
public function data_imagick_path() public function data_imagick_path_linux()
{ {
return array( return array(
array('/usr/bin', 'Configuration updated successfully'), array('/usr/bin', 'Configuration updated successfully'),
array('/usr/bin/', 'Configuration updated successfully'), array('/usr/foobar', 'The entered path “/usr/foobar” does not exist.'),
array('C:\Windows\system32', 'The entered path “C:\Windows\system32” does not exist.'),
array('/usr/nope', 'The entered path “/usr/nope” does not exist.'),
array('mkdir /usr/test', 'The entered path “mkdir /usr/test” does not exist.'),
array('/usr/bin/which', 'The entered path “/usr/bin/which” is not a directory.'), array('/usr/bin/which', 'The entered path “/usr/bin/which” is not a directory.'),
); );
} }
/** /**
* @dataProvider data_imagick_path * @dataProvider data_imagick_path_linux
*/ */
public function test_imagick_path($imagick_path, $expected) 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->login();
$this->admin_login(); $this->admin_login();
@ -41,6 +43,36 @@ class phpbb_functional_acp_attachments_test extends phpbb_functional_test_case
$form = $crawler->selectButton('Submit')->form(array('config[img_imagick]' => $imagick_path)); $form = $crawler->selectButton('Submit')->form(array('config[img_imagick]' => $imagick_path));
$crawler = self::submit($form); $crawler = self::submit($form);
$this->assertContains($expected, $crawler->text()); $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_linux
*/
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());
} }
} }