Classi per la configurazione upload
Cristiano Magro
2018-01-03 c1ead938f264d9632c4bb9a6ff7d67f41708203a
tests/SetupUploadTest.php
@@ -1,19 +1,43 @@
<?php
require 'bootstrap.php';
/**
 * Description of FbResponseTest
 * Implementazione dei test per la classe SetupUpload
 *
 * @author Cristiano Magro
 */
class SetupUploadTest extends PHPUnit_Framework_TestCase {
    public static function setUpBeforeClass() {
    /**
     *  @var $object SetupUpload
     */
    protected $object;
    /**
     * Set up fixture, inizializzazione dei test.
     * Eseguito prima di ogni test
     */
    protected function setUp() {
        $this->object = SetupUpload::create();
    }
    /**
     * Tears down the fixture, for example, closes a network connection.
     * This method is called after a test is executed.
     */
    protected function tearDown() {
    }
    public static function setUpBeforeClass() {
    }
    /**
     * Conversione di una stringa nel corrispondente valore di byte
     * @since 0.3.0
     */
    public function test_str2Bytes() {
        $this->assertEquals('1', SetupUpload::str2Bytes('1'));
@@ -24,15 +48,12 @@
        $this->assertEquals('1024', SetupUpload::str2Bytes('1 Kb'));
        $this->assertEquals('1024', SetupUpload::str2Bytes('1 KB'));
        $this->assertEquals('1024', SetupUpload::str2Bytes('1 kb'));
        $this->assertEquals('2048', SetupUpload::str2Bytes('2 Kb'));
        $this->assertEquals('1024', SetupUpload::str2Bytes('1 KB'));
        $this->assertEquals('2048', SetupUpload::str2Bytes('2           Kb'));
        $this->assertEquals('1048576', SetupUpload::str2Bytes('1 mB'));
        $this->assertEquals('0', SetupUpload::str2Bytes('0 B'));
        $this->assertEquals('0', SetupUpload::str2Bytes('0 kB'));
@@ -40,8 +61,82 @@
        $this->assertEquals('0', SetupUpload::str2Bytes('0 GB'));
        $this->assertEquals('0', SetupUpload::str2Bytes('0 TB'));
        $this->assertEquals('0', SetupUpload::str2Bytes('0 XB'));
    }
    /**
     * La coda non inizializzata prevede un numero minimo di files
     * @since 0.3.1
     */
    public function testDefaultValue() {
        $this->assertEquals(1, $this->object->getNumMaxFiles());
    }
    /**
     * Gestione di valori non adeguati
     * @since 0.3.1
     * @expectedException UploadFile_Exc
     * @dataProvider getNumMaxFilesException
     */
    public function testNotValidNumMaxFilesGetException($num) {
        $this->object->setNumMaxFiles($num);
    }
    public function getNumMaxFilesException() {
        return array(
            array(''),
            array(0),
            array(-10),
            array('a'),
        );
    }
    /**
     * Caselle della coda valide
     * @since 0.3.1
     * @dataProvider getSomeMaxFiles
     */
    public function testSomeValidMaxFiles($num) {
        $this->object->setNumMaxFiles($num);
        $this->assertEquals($num, $this->object->getNumMaxFiles());
    }
    public function getSomeMaxFiles() {
        return array(
            array(2),
            array(020),
            array(100),
            array(10000),
        );
    }
    /**
     * Impostazioni delle dimensioni massime del totale caricabile
     * @since 0.3.1
     */
    public function testSetSizeMaxFilesByte() {
        $this->object->setSizeMaxFilesByte(100);
        $this->assertEquals(100, $this->object->getSizeMaxFilesByte());
        $this->object->setSizeMaxFilesByte('200');
        $this->assertEquals(200, $this->object->getSizeMaxFilesByte());
        $this->object->setSizeMaxFilesByte('3 kb');
        $this->assertEquals(1024 * 3, $this->object->getSizeMaxFilesByte());
    }
    /**
     * Impostazioni delle dimensioni massime di un file
     * @since 0.3.1
     */
    public function testSetSizeLimitFile() {
        $this->object->setSizeLimitFile(100);
        $this->assertEquals(100, $this->object->getSizeLimitFile());
        $this->object->setSizeLimitFile('200');
        $this->assertEquals(200, $this->object->getSizeLimitFile());
        $this->object->setSizeLimitFile('3kb');
        $this->assertEquals(1024 * 3, $this->object->getSizeLimitFile());
    }
}