summaryrefslogtreecommitdiffstats
path: root/apps/dav/tests
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2021-04-30 21:36:05 +0200
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2021-05-03 13:56:02 +0000
commitc41a916250322f4c9e5d72fb9a76357829b9b61b (patch)
tree2dac64ebb2f06d375056069e87db17d37ad7c1bc /apps/dav/tests
parent47148762c8b08c8275c4d08502b229a7d1b6218b (diff)
downloadnextcloud-server-c41a916250322f4c9e5d72fb9a76357829b9b61b.tar.gz
nextcloud-server-c41a916250322f4c9e5d72fb9a76357829b9b61b.zip
fix creating vcards with multiple string values
Internally it is valid to provide multiple values for a property as plain string. An exampe is given in the PhpDoc of AddressBookImpl::search(). Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps/dav/tests')
-rw-r--r--apps/dav/tests/unit/CardDAV/AddressBookImplTest.php14
1 files changed, 12 insertions, 2 deletions
diff --git a/apps/dav/tests/unit/CardDAV/AddressBookImplTest.php b/apps/dav/tests/unit/CardDAV/AddressBookImplTest.php
index 5b28e6b025b..5d037c1f38a 100644
--- a/apps/dav/tests/unit/CardDAV/AddressBookImplTest.php
+++ b/apps/dav/tests/unit/CardDAV/AddressBookImplTest.php
@@ -154,11 +154,20 @@ class AddressBookImplTest extends TestCase {
->setMethods(['vCard2Array', 'createUid', 'createEmptyVCard'])
->getMock();
+ $expectedProperties = 0;
+ foreach ($properties as $data) {
+ if (is_string($data)) {
+ $expectedProperties++;
+ } else {
+ $expectedProperties += count($data);
+ }
+ }
+
$addressBookImpl->expects($this->once())->method('createUid')
->willReturn($uid);
$addressBookImpl->expects($this->once())->method('createEmptyVCard')
->with($uid)->willReturn($this->vCard);
- $this->vCard->expects($this->exactly(count($properties)))
+ $this->vCard->expects($this->exactly($expectedProperties))
->method('createProperty');
$this->backend->expects($this->once())->method('createCard');
$this->backend->expects($this->never())->method('updateCard');
@@ -172,7 +181,8 @@ class AddressBookImplTest extends TestCase {
public function dataTestCreate() {
return [
[[]],
- [['FN' => 'John Doe']]
+ [['FN' => 'John Doe']],
+ [['FN' => 'John Doe', 'EMAIL' => ['john@doe.cloud', 'john.doe@example.org']]],
];
}