mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-10 05:18:52 +00:00
[ticket/13904] Add more tests and test cases
PHPBB3-13904
This commit is contained in:
parent
3e99816fa2
commit
46e3d82196
4 changed files with 49 additions and 2 deletions
|
@ -99,6 +99,7 @@ class phpbb_functional_fileupload_remote_test extends phpbb_functional_test_case
|
|||
$file = $upload->handle_upload('remote', self::$root_url . 'styles/prosilver/theme/images/forum_read.gif');
|
||||
$this->assertEquals(0, sizeof($file->error));
|
||||
$this->assertTrue(file_exists($file->get('filename')));
|
||||
$this->assertTrue($file->is_uploaded());
|
||||
}
|
||||
|
||||
public function test_too_large()
|
||||
|
|
|
@ -19,9 +19,10 @@ class phpbb_mock_fileupload
|
|||
{
|
||||
public $max_filesize = 100;
|
||||
public $error_prefix = '';
|
||||
public $valid_dimensions = true;
|
||||
|
||||
public function valid_dimensions($filespec)
|
||||
{
|
||||
return true;
|
||||
return $this->valid_dimensions;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -112,6 +112,13 @@ class phpbb_filespec_test extends phpbb_test_case
|
|||
}
|
||||
}
|
||||
|
||||
public function test_empty_upload_ary()
|
||||
{
|
||||
$filespec = new \phpbb\files\filespec($this->filesystem, $this->language, $this->phpbb_root_path, $this->mimetype_guesser);
|
||||
$this->assertInstanceOf('\phpbb\files\filespec', $filespec->set_upload_ary(array()));
|
||||
$this->assertTrue($filespec->init_error());
|
||||
}
|
||||
|
||||
public function additional_checks_variables()
|
||||
{
|
||||
// False here just indicates the file is too large and fails the
|
||||
|
@ -140,6 +147,19 @@ class phpbb_filespec_test extends phpbb_test_case
|
|||
$this->assertEquals($expected, $filespec->additional_checks());
|
||||
}
|
||||
|
||||
public function test_additional_checks_dimensions()
|
||||
{
|
||||
$upload = new phpbb_mock_fileupload();
|
||||
$filespec = $this->get_filespec();
|
||||
$filespec->set_upload_namespace($upload);
|
||||
$upload->valid_dimensions = false;
|
||||
$filespec->file_moved = true;
|
||||
$upload->max_filesize = 0;
|
||||
|
||||
$this->assertEquals(false, $filespec->additional_checks());
|
||||
$this->assertSame(array('WRONG_SIZE'), $filespec->error);
|
||||
}
|
||||
|
||||
public function check_content_variables()
|
||||
{
|
||||
// False here indicates that a file is non-binary and contains
|
||||
|
@ -388,4 +408,27 @@ class phpbb_filespec_test extends phpbb_test_case
|
|||
|
||||
$this->assertSame(trim(utf8_basename(htmlspecialchars($filename))), $filespec->get('uploadname'));
|
||||
}
|
||||
|
||||
public function test_is_uploaded()
|
||||
{
|
||||
$filespec = new \phpbb\files\filespec($this->filesystem, $this->language, $this->phpbb_root_path, null);
|
||||
$reflection_filespec = new ReflectionClass($filespec);
|
||||
$plupload_property = $reflection_filespec->getProperty('plupload');
|
||||
$plupload_property->setAccessible(true);
|
||||
$plupload_mock = $this->getMockBuilder('\phpbb\plupload\plupload')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
$plupload_mock->expects($this->any())
|
||||
->method('is_active')
|
||||
->will($this->returnValue(true));
|
||||
$plupload_property->setValue($filespec, $plupload_mock);
|
||||
$is_uploaded = $reflection_filespec->getMethod('is_uploaded');
|
||||
|
||||
// Plupload is active and file does not exist
|
||||
$this->assertFalse($is_uploaded->invoke($filespec));
|
||||
|
||||
// Plupload is not active and file was not uploaded
|
||||
$plupload_property->setValue($filespec, null);
|
||||
$this->assertFalse($is_uploaded->invoke($filespec));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -179,7 +179,9 @@ class phpbb_fileupload_test extends phpbb_test_case
|
|||
copy($this->path . 'jpg', $this->path . 'jpg.jpg');
|
||||
$file = $upload->handle_upload('local', $this->path . 'jpg.jpg');
|
||||
$this->assertEquals(0, sizeof($file->error));
|
||||
unlink($this->path . 'jpg.jpg');
|
||||
$this->assertFalse($file->additional_checks());
|
||||
$this->assertTrue($file->move_file('../tests/upload/fixture/copies', true));
|
||||
$file->remove();
|
||||
}
|
||||
|
||||
public function test_move_existent_file()
|
||||
|
|
Loading…
Add table
Reference in a new issue