Skip to content
Snippets Groups Projects
Commit 048aefd5 authored by pbarroca's avatar pbarroca
Browse files

Couverture MultiUpload

parent 7106be18
No related merge requests found
......@@ -19,6 +19,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
class Class_MultiUpload_HandlerForm extends Class_MultiUpload_Handler {
protected $_uploadMover;
/**
* @param string $path
* @return type
......@@ -29,7 +31,7 @@ class Class_MultiUpload_HandlerForm extends Class_MultiUpload_Handler {
return false;
}
if (!move_uploaded_file($_FILES['qqfile']['tmp_name'], $path)) {
if (!$this->moveUploadedFile($path)) {
$this->_error = 'Cannot move uploaded file to ' . $path;
return false;
......@@ -39,6 +41,31 @@ class Class_MultiUpload_HandlerForm extends Class_MultiUpload_Handler {
}
/**
* @category testing
* @return bool
*/
public function moveUploadedFile($path) {
return $this->getUploadMover()->moveUploadedFile($path);
}
/**
* @category testing
*/
public function setUploadMover($uploadMover) {
$this->_uploadMover = $uploadMover;
return $this;
}
public function getUploadMover() {
if (null != $this->_uploadMover)
return $this->_uploadMover;
return new Class_MultiUpload_HandlerForm_UploadMover();
}
/**
* @return string
*/
......@@ -54,4 +81,12 @@ class Class_MultiUpload_HandlerForm extends Class_MultiUpload_Handler {
return $_FILES['qqfile']['size'];
}
}
class Class_MultiUpload_HandlerForm_UploadMover {
public function moveUploadedFile($path) {
return move_uploaded_file($_FILES['qqfile']['tmp_name'], $path);
}
}
?>
\ No newline at end of file
......@@ -121,6 +121,17 @@ class MultiUploalHandlerFormTest extends MultiUploadHandlerTestCase {
$this->assertFalse($this->_handler->save(sys_get_temp_dir() . '/test.gif'));
$this->assertStringStartsWith('Cannot move uploaded file to',
$this->_handler->getError());
$this->_handler->getError());
}
/** @test */
public function withSizeAndUploadMovedSaveShouldReturnTrue() {
$_FILES['qqfile']['size'] = '111001';
$this->_handler->setUploadMover(Storm_Test_ObjectWrapper::mock()
->whenCalled('moveUploadedFile')
->answers(true));
$this->assertTrue($this->_handler->save(sys_get_temp_dir(). '/test.gif'));
}
}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment