/*
* Copyright (c) 2010 Isode Limited.
* All rights reserved.
* See the COPYING file for more information.
*/
/*
* Copyright (c) 2015 Tarun Gupta.
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
package com.isode.stroke.serializer.payloadserializers;
import static org.junit.Assert.assertEquals;
import org.junit.BeforeClass;
import org.junit.Test;
import com.isode.stroke.elements.VCard;
import com.isode.stroke.serializer.payloadserializers.VCardSerializer;
import com.isode.stroke.base.DateTime;
import com.isode.stroke.jid.JID;
import com.isode.stroke.base.ByteArray;
public class VCardSerializerTest {
@Test
public void testSerialize() {
VCardSerializer testling = new VCardSerializer();
VCard vcard = new VCard();
vcard.setVersion("2.0");
vcard.setFullName("Alice In Wonderland");
vcard.setPrefix("Mrs");
vcard.setGivenName("Alice");
vcard.setMiddleName("In");
vcard.setFamilyName("Wonderland");
vcard.setSuffix("PhD");
vcard.setNickname("DreamGirl");
vcard.setPhoto(new ByteArray("abcdef"));
vcard.setPhotoType("image/png");
vcard.setBirthday(DateTime.stringToDate("1865-05-04T00:00:00Z"));
vcard.addUnknownContent("mutt");
VCard.EMailAddress emailAddress1 = new VCard.EMailAddress();
emailAddress1.address = "alice@wonderland.lit";
emailAddress1.isHome = true;
emailAddress1.isPreferred = true;
emailAddress1.isInternet = true;
vcard.addEMailAddress(emailAddress1);
VCard.EMailAddress address2 = new VCard.EMailAddress();
address2.address = "alice@teaparty.lit";
address2.isWork = true;
address2.isX400 = true;
vcard.addEMailAddress(address2);
VCard.Telephone telephone1 = new VCard.Telephone();
telephone1.number = "555-6273";
telephone1.isHome = true;
telephone1.isVoice = true;
vcard.addTelephone(telephone1);
VCard.Address address1 = new VCard.Address();
address1.locality = "Any Town";
address1.street = "Fake Street 123";
address1.postalCode = "12345";
address1.country = "USA";
address1.isHome = true;
vcard.addAddress(address1);
VCard.AddressLabel label1 = new VCard.AddressLabel();
label1.lines.add("Fake Street 123");
label1.lines.add("12345 Any Town");
label1.lines.add("USA");
label1.isHome = true;
vcard.addAddressLabel(label1);
vcard.addJID(new JID("alice@teaparty.lit"));
vcard.addJID(new JID("alice@wonderland.lit"));
vcard.setDescription("I once fell down a rabbit hole.");
VCard.Organization org1 = new VCard.Organization();
org1.name = "Alice In Wonderland Inc.";
vcard.addOrganization(org1);
vcard.addTitle("Some Title");
vcard.addRole("Main Character");
vcard.addURL("http://wonderland.lit/~alice");
vcard.addURL("http://teaparty.lit/~alice2");
String expectedResult =
""
+ "2.0"
+ "Alice In Wonderland"
+ ""
+ "Wonderland"
+ "Alice"
+ "In"
+ "Mrs"
+ "PhD"
+ ""
+ ""
+ "alice@wonderland.lit"
+ ""
+ ""
+ ""
+ ""
+ ""
+ "alice@teaparty.lit"
+ ""
+ ""
+ ""
+ "DreamGirl"
+ ""
+ "image/png"
+ "YWJjZGVm"
+ ""
+ "1865-05-04T00:00:00Z"
+ ""
+ "555-6273"
+ ""
+ ""
+ ""
+ ""
+ "Fake Street 123"
+ "Any Town"
+ "12345"
+ "USA"
+ ""
+ ""
+ ""
+ "alice@teaparty.lit"
+ "alice@wonderland.lit"
+ "I once fell down a rabbit hole."
+ ""
+ "Alice In Wonderland Inc."
+ ""
+ "Some Title"
+ "Main Character"
+ "http://wonderland.lit/~alice"
+ "http://teaparty.lit/~alice2"
+ "mutt"
+ "";
assertEquals(expectedResult, testling.serialize(vcard));
}
}