Skip to content

Commit a93bd80

Browse files
committed
feat: return both properties and status in propFindUnfiltered
1 parent ebfe0d4 commit a93bd80

2 files changed

Lines changed: 28 additions & 15 deletions

File tree

lib/DAV/Client.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -243,16 +243,14 @@ public function propFindUnfiltered($url, array $properties, $depth = 0)
243243
reset($result);
244244
$resourceStatusList = current($result);
245245
reset($resourceStatusList);
246-
// $resourceStatus = key($resourceStatusList);
247-
return current($resourceStatusList);
246+
247+
return ['properties' => current($resourceStatusList), 'status' => key($resourceStatusList)];
248248
}
249249

250250
$newResult = [];
251251
foreach ($result as $href => $statusList) {
252252
reset($statusList);
253-
// $resourceStatus = key($statusList);
254-
$resourceProperties = current($statusList);
255-
$newResult[$href] = $resourceProperties;
253+
$newResult[$href] = ['properties' => current($statusList), 'status' => key($statusList)];
256254
}
257255

258256
return $newResult;

tests/Sabre/DAV/ClientTest.php

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -304,8 +304,11 @@ public function testPropFindUnfilteredDepth0()
304304
$result = $client->propFindUnfiltered('folder1', ['{DAV:}resourcetype', '{DAV:}displayname', '{urn:zim}gir']);
305305

306306
self::assertEquals([
307-
'{DAV:}resourcetype' => new Xml\Property\ResourceType('{DAV:}collection'),
308-
'{DAV:}displayname' => 'Folder1',
307+
'properties' => [
308+
'{DAV:}resourcetype' => new Xml\Property\ResourceType('{DAV:}collection'),
309+
'{DAV:}displayname' => 'Folder1',
310+
],
311+
'status' => 200,
309312
], $result);
310313

311314
$request = $client->request;
@@ -382,20 +385,32 @@ public function testPropFindUnfiltered()
382385

383386
self::assertEquals([
384387
'/folder1' => [
385-
'{DAV:}resourcetype' => new Xml\Property\ResourceType('{DAV:}collection'),
386-
'{DAV:}displayname' => 'Folder1',
388+
'properties' => [
389+
'{DAV:}resourcetype' => new Xml\Property\ResourceType('{DAV:}collection'),
390+
'{DAV:}displayname' => 'Folder1',
391+
],
392+
'status' => 200,
387393
],
388394
'/folder1/file1.txt' => [
389-
'{DAV:}resourcetype' => null,
390-
'{DAV:}displayname' => 'File1',
395+
'properties' => [
396+
'{DAV:}resourcetype' => null,
397+
'{DAV:}displayname' => 'File1',
398+
],
399+
'status' => 200,
391400
],
392401
'/folder1/file2.txt' => [
393-
'{DAV:}resourcetype' => null,
394-
'{DAV:}displayname' => 'File2',
402+
'properties' => [
403+
'{DAV:}resourcetype' => null,
404+
'{DAV:}displayname' => 'File2',
405+
],
406+
'status' => 403,
395407
],
396408
'/folder1/file3.txt' => [
397-
'{DAV:}resourcetype' => null,
398-
'{DAV:}displayname' => 'File3',
409+
'properties' => [
410+
'{DAV:}resourcetype' => null,
411+
'{DAV:}displayname' => 'File3',
412+
],
413+
'status' => 425,
399414
],
400415
], $result);
401416

0 commit comments

Comments
 (0)