From 288992d9ad64c52b77983e27f497aa6f4ed5728e Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Wed, 27 Aug 2025 21:56:10 +0200 Subject: Fix logic for searching labels (#7863) `L:1 L:2` is supposed to be an implicit `AND`, while `L:1,2` as well as `L:1 OR L:2` is an `OR` logic --- tests/app/Models/SearchTest.php | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tests/app') diff --git a/tests/app/Models/SearchTest.php b/tests/app/Models/SearchTest.php index 1e8855aa3..8b4c9d2b5 100644 --- a/tests/app/Models/SearchTest.php +++ b/tests/app/Models/SearchTest.php @@ -505,6 +505,17 @@ class SearchTest extends PHPUnit\Framework\TestCase { '(e.content ~ ? )', ['^(ab|cd)'] ], + [ + 'L:1 L:2', + '(e.id IN (SELECT et.id_entry FROM `_entrytag` et WHERE et.id_tag IN (?)) AND ' . + 'e.id IN (SELECT et.id_entry FROM `_entrytag` et WHERE et.id_tag IN (?)) )', + [1, 2] + ], + [ + 'L:1,2', + '(e.id IN (SELECT et.id_entry FROM `_entrytag` et WHERE et.id_tag IN (?,?)) )', + [1, 2] + ], ]; } -- cgit v1.2.3