package com.orangelabs.rcs.chat; import java.io.ByteArrayInputStream; import org.xml.sax.InputSource; import android.test.AndroidTestCase; import com.orangelabs.rcs.core.ims.service.im.chat.iscomposing.IsComposingInfo; import com.orangelabs.rcs.core.ims.service.im.chat.iscomposing.IsComposingParser; import com.orangelabs.rcs.utils.DateUtils; import com.orangelabs.rcs.utils.logger.Logger; public class IsComposingParserTest extends AndroidTestCase { /* * IsComposing SAMPLE: <?xml version="1.0" encoding="UTF-8"?> <isComposing * xmlns="urn:ietf:params:xml:ns:im-iscomposing" * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" * xsi:schemaLocation="urn:ietf:params:xml:ns:im-composing iscomposing.xsd"> * <state>idle</state> <lastactive>2003-01-27T10:43:00Z</lastactive> * <contenttype>audio</contenttype> </isComposing> */ private Logger logger = Logger.getLogger(this.getClass().getName()); protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } public void testIsComposingParser() { StringBuffer sb = new StringBuffer("<?xml version=\"1.08\" encoding=\"UTF-8\"?>"); sb.append("<isComposing xmlns=\"urn:ietf:params:xml:ns:im-isComposing\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "); sb.append("xsi:schemaLocation=\"urn:ietf:params:xml:ns:im-composing iscomposing.xsd\">"); sb.append("<state>idle</state>"); sb.append("<lastactive>2008-12-13T13:40:00Z</lastactive>"); sb.append("<contenttype>audio</contenttype> </isComposing>"); String xml = sb.toString(); try { InputSource inputso = new InputSource(new ByteArrayInputStream(xml.getBytes())); IsComposingParser parser = new IsComposingParser(inputso); IsComposingInfo isInfo = parser.getIsComposingInfo(); assertEquals(isInfo.getContentType(), "audio"); assertEquals(isInfo.isStateActive(), false); if (logger.isActivated()) { logger.info("isComposing lastActiveDate = " + isInfo.getLastActiveDate()); } } catch (Exception e) { fail("IsComposing source parsed"); e.printStackTrace(); } } }