From 239c0068baa2d7f8544557feca928c26f7480243 Mon Sep 17 00:00:00 2001
From: Cristiano Magro <cristiano.magro@vola.it>
Date: Tue, 27 Aug 2019 11:21:39 +0200
Subject: [PATCH] method per aggiugere estensione al filtro

---
 tests/Vola/UploadFile/FilterExtTest.php |   33 +++++++++++++++++++++++++++++++++
 src/Vola/UploadFile/FilterExt.class.php |   10 ++++++++++
 2 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/src/Vola/UploadFile/FilterExt.class.php b/src/Vola/UploadFile/FilterExt.class.php
index a557613..fc5a483 100644
--- a/src/Vola/UploadFile/FilterExt.class.php
+++ b/src/Vola/UploadFile/FilterExt.class.php
@@ -20,8 +20,18 @@
     {
         $new = new stdClass();
         $new->titolo = $this->titolo;
+
+        //riordino le chiavi
+        sort($this->extensions);
+
         $new->extensions = implode(',', $this->extensions);
 
         return json_encode($new);
     }
+
+    public function addExt($newExt)
+    {
+        $this->extensions[$newExt] = $newExt;
+        return $this;
+    }
 }
\ No newline at end of file
diff --git a/tests/Vola/UploadFile/FilterExtTest.php b/tests/Vola/UploadFile/FilterExtTest.php
index 3d27155..8043c65 100644
--- a/tests/Vola/UploadFile/FilterExtTest.php
+++ b/tests/Vola/UploadFile/FilterExtTest.php
@@ -35,4 +35,37 @@
         $this->assertEquals($atteso, $obj->getFilter());
     }
 
+    public function testAddExt()
+    {
+        $atteso = '{"titolo":"titolo","extensions":"ciccio,ext"}';
+
+        $obj = new FilterExt('titolo', 'ext');
+        $obj->addExt('ciccio');
+
+        $this->assertEquals($atteso, $obj->getFilter());
+    }
+
+    public function testDuplicatoExt()
+    {
+        $atteso = '{"titolo":"titolo","extensions":"ext"}';
+
+        $obj = new FilterExt('titolo', 'ext');
+        $obj->addExt('ext');
+
+        $this->assertEquals($atteso, $obj->getFilter());
+    }
+
+    /**
+     * Le estensioni possono differire tra maiuscolo e minuscolo.
+     */
+    public function testDuplicatoUpper()
+    {
+        $atteso = '{"titolo":"qualcosa","extensions":"Ext,ext"}';
+
+        $obj = new FilterExt('qualcosa', 'ext');
+        $obj->addExt('Ext');
+
+        $this->assertEquals($atteso, $obj->getFilter());
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.8.0