$xml = kolabformat::writeContact($c); #print $xml; assertcontains($xml, "<uid><uri>urn:uuid:", "Generate Contact UID as urn::uuid"); assertcontains($xml, "<n><surname>Surname</surname><given>Given</given><additional>Middle1</additional><additional>Middle2</additional><prefix>Prefix</prefix></n>", "Contact::setNameComponents()"); assertcontains($xml, "<title><text>MyProfession</text></title>", "Contact::setTitles()"); assertcontains($xml, "<photo><uri>data:image/gif;base64,{$pic}</uri></photo>", "Contact::setPhoto()"); assertcontains($xml, "<bday><date>19800801</date></bday>", "Contact::setBDay()"); assertcontains($xml, "<geo><uri>geo:46.952585,7.43766</uri></geo>", "Contact::setGPSpos()"); $c1 = kolabformat::readContact($xml, false); assertequal($xml, kolabformat::writeContact($c1), "kolabformat::readContact() => kolabformat::writeContact()"); assertequal($c1->photoMimetype(), "image/gif", "Contact::photoMimetype()"); assertequal($c1->uid(), kolabformat::getSerializedUID(), "kolabformat::getSerializedUID()"); $lm = $c1->lastModified(); assertequal(sprintf('%d-%02d-%02d', $lm->year(), $lm->month(), $lm->day()), gmdate('Y-m-d'), "Contact::lastModified()"); $c1->setBDay(new cDateTime()); $xml = kolabformat::writeContact($c); assertfalse(strpos($xml, '<bday><date>'), "Unset BDay with empty cDateTime"); /////// Test DistList $dl = new DistList(); $dl->setName("DalistÄÖŸ"); $m = new vectorcontactref(); $a = new ContactReference(ContactReference::EmailReference, "a@localhost", "Member-A"); $m->push($a); $b = new ContactReference(ContactReference::UidReference, "x-member-b-fff"); $b->setName("Member-B"); $m->push($b); #$c = new ContactReference(ContactReference::EmailAndUidReference, "c@localhost", "dddaab06-0000-0000-eeb5-cc64ff7f0000"); #$c->setName("Member-C"); #$m->push($c); assertequal($m->size(), 2, "vectorcontactref::size()"); $dl->setMembers($m);