From 24c1b0d7aaa7bb33dcc87edb852ecc671d03bbd1 Mon Sep 17 00:00:00 2001
From: efalcy <efalcy@afi-sa.fr>
Date: Tue, 22 Jun 2021 10:40:45 +0200
Subject: [PATCH] dev#128218 : findall_check_array : add exception when
 findallby on empty array to match sql behaviour

---
 src/Storm/Model/PersistenceStrategy/Volatile.php | 4 ++++
 tests/Storm/Test/LoaderVolatileTest.php          | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/Storm/Model/PersistenceStrategy/Volatile.php b/src/Storm/Model/PersistenceStrategy/Volatile.php
index f9262921..0cea7806 100644
--- a/src/Storm/Model/PersistenceStrategy/Volatile.php
+++ b/src/Storm/Model/PersistenceStrategy/Volatile.php
@@ -225,6 +225,10 @@ class Storm_Model_PersistenceStrategy_Volatile  extends Storm_Model_PersistenceS
     if (!array_key_exists($key, $model))
       return false;
 
+    if (is_array($value) && count($value) == 0)
+      throw new Storm_Model_Exception(sprintf('array given for %s is empty',
+                                              $key));
+
     if (is_array($value) && in_array($model[$key], $value))
       return true;
 
diff --git a/tests/Storm/Test/LoaderVolatileTest.php b/tests/Storm/Test/LoaderVolatileTest.php
index a1cb12ea..851f5af2 100644
--- a/tests/Storm/Test/LoaderVolatileTest.php
+++ b/tests/Storm/Test/LoaderVolatileTest.php
@@ -486,7 +486,7 @@ class Storm_Test_LoaderVolatileTest extends Storm_Test_ModelTestCase {
 
   /**
    * @expectedException Storm_Model_Exception
-   * @expectedExceptionMessage 'array given for login is empty'
+   * @expectedExceptionMessage array given for login is empty
    * @test
    **/
   public function findAllWithLoginEmptyArrayShouldRaiseEmptyArrayException() {
-- 
GitLab