diff --git a/lib/private/systemtag/systemtagobjectmapper.php b/lib/private/systemtag/systemtagobjectmapper.php index 586351cf8c..412842b69e 100644 --- a/lib/private/systemtag/systemtagobjectmapper.php +++ b/lib/private/systemtag/systemtagobjectmapper.php @@ -64,6 +64,8 @@ class SystemTagObjectMapper implements ISystemTagObjectMapper { public function getTagIdsForObjects($objIds, $objectType) { if (!is_array($objIds)) { $objIds = [$objIds]; + } else if (empty($objIds)) { + return []; } $query = $this->connection->getQueryBuilder(); diff --git a/tests/lib/systemtag/systemtagobjectmappertest.php b/tests/lib/systemtag/systemtagobjectmappertest.php index 861eb24067..69cf7e8f81 100644 --- a/tests/lib/systemtag/systemtagobjectmappertest.php +++ b/tests/lib/systemtag/systemtagobjectmappertest.php @@ -119,7 +119,7 @@ class SystemTagObjectMapperTest extends TestCase { $query->delete(SystemTagManager::TAG_TABLE)->execute(); } - public function testGetTagsForObjects() { + public function testGetTagIdsForObjects() { $tagIdMapping = $this->tagMapper->getTagIdsForObjects( ['1', '2', '3', '4'], 'testtype' @@ -133,6 +133,15 @@ class SystemTagObjectMapperTest extends TestCase { ], $tagIdMapping); } + public function testGetTagIdsForNoObjects() { + $tagIdMapping = $this->tagMapper->getTagIdsForObjects( + [], + 'testtype' + ); + + $this->assertEquals([], $tagIdMapping); + } + public function testGetObjectsForTags() { $objectIds = $this->tagMapper->getObjectIdsForTags( [$this->tag1->getId(), $this->tag2->getId(), $this->tag3->getId()],