//run using:
// php -d enable_dl=On -dextension=/usr/local/lib/php/modules/kolabshared.so -dextension=/usr/local/lib/php/modules/kolabformat.so -dextension=/usr/local/lib/php/modules/kolabobject.so test.php
include "kolabformat.php";
include "kolabobject.php";
/////// Test Event
$e = new Event();
$e->setCreated(new cDateTime(2012, 3, 14, 9, 5, 30, true));
$e->setStart(new cDateTime(2012, 7, 31));
$e->setUid("uid");
$e->setPriority(1);
$xo = new XMLObject();
print $xo->writeEvent($e, kolabobject::KolabV2, "test.php");
print $xo->writeEvent($e, kolabobject::KolabV3, "test.php");
////// Test Contact
$c = new Contact();
$nc = new NameComponents();
$sn = new vectors();
$sn->push("Contact");
$nc->setSurnames($sn);
$gn = new vectors();
$gn->push("Sample");
$nc->setGiven($gn);
$c->setNameComponents($nc);
$c->setName("Sample Contact");
$em = new vectors();
$em->push("sample.v2@localhost");
$c->setEmailAddresses($em);
$xo = new XMLObject();
print $xo->writeContact($c, kolabobject::KolabV2, "test.php");
print "UID = " . $xo->getSerializedUID() . "\n\n";
print $xo->writeContact($c, kolabobject::KolabV3, "test.php");
assertequal($vdelegatees_->get(0)->email(), "*****@*****.**", "Delegated-To email");
/////// Test Todo
$t = new Todo();
$t->setCreated(new cDateTime(2014, 3, 14, 9, 5, 30, true));
$due = new cDateTime(2014, 5, 20, 17, 30, 0);
$t->setDue($due);
$t->setStart(new cDateTime(2014, 4, 30, 8, 0, 0));
$t->setSummary('Test Task');
$xml = kolabformat::writeTodo($t);
#print $xml;
assertcontains($xml, '<due><date-time>2014-05-20T17:30:00</date-time></due>', "Todo::setDue() with date/time");
assertcontains($xml, '<dtstart><date-time>2014-04-30T08:00:00</date-time></dtstart>', "Todo::setStart() with date/time");
/////// Test Contact
$c = new Contact();
$c->setName("Contact-FN");
$nc = new NameComponents();
$nc->setSurnames(array2vector("Surname"));
$nc->setGiven(array2vector("Given"));
$nc->setAdditional(array2vector(array("Middle1", "Middle2")));
$nc->setPrefixes(array2vector("Prefix"));
#$nc->setSuffixes(new vectors);
assertcontains($nc->surnames()->size(), 1, "NameComponents::setSurnames()");
assertcontains($nc->given()->size(), 1, "NameComponents::setGiven()");
assertcontains($nc->additional()->size(), 2, "NameComponents::setAdditional()");
assertcontains($nc->prefixes()->size(), 1, "NameComponents::setPrefixes()");
assertcontains($nc->suffixes()->size(), 0, "NameComponents::suffixes()");
$c->setNameComponents($nc);
$c->setTitles(array2vector("MyProfession"));
$pic = "R0lGODlhEgASAIAAAMDAwAAAACH5BAEAAAAALAAAAAASABIAQAIPhI+py+0Po5y02ouz3pwXADs=";
$c->setPhoto(base64_decode($pic), 'image/gif');
$geo = new vectorgeo();