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