parse($vcard); $this->assertSame('contact-123', $contact->uid); $this->assertSame('Marie Durand', $contact->fullName); $this->assertSame('Marie', $contact->firstName); $this->assertSame('Durand', $contact->lastName); $this->assertSame('AFPMA', $contact->organization); $this->assertSame('marie@example.test', $contact->email); $this->assertCount(2, $contact->phoneNumbers); $this->assertSame('Cell, Voice', $contact->phoneNumbers[0]->label); $this->assertSame(['Benevoles', 'Conseil, bureau'], $contact->categories); } public function test_it_unfolds_multiline_values(): void { $vcard = "BEGIN:VCARD\r\nVERSION:3.0\r\nUID:folded\r\nFN:Association des amis\r\n du lac\r\nTEL:0611110001\r\nEND:VCARD\r\n"; $contact = (new VCardParser)->parse($vcard); $this->assertSame('Association des amis du lac', $contact->fullName); } }