diff options
Diffstat (limited to 'src/test/java/com/juick/tests')
-rw-r--r-- | src/test/java/com/juick/tests/MessageTests.java | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/test/java/com/juick/tests/MessageTests.java b/src/test/java/com/juick/tests/MessageTests.java index 0392c7b3..b35e71c6 100644 --- a/src/test/java/com/juick/tests/MessageTests.java +++ b/src/test/java/com/juick/tests/MessageTests.java @@ -2,17 +2,47 @@ package com.juick.tests; import static org.junit.Assert.assertEquals;
+import com.juick.json.MessageSerializer;
+import com.juick.xmpp.extensions.JuickMessage;
+import org.json.JSONObject;
import org.junit.Test;
import com.juick.Message;
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.*;
+import java.text.ParseException;
+import java.util.Date;
public class MessageTests {
@Test
- public void messageTagsParser() {
+ public void messageParserSerializer() throws ParseException, ParserConfigurationException,
+ IOException, SAXException {
Message msg = new Message();
msg.parseTags("test test" + (char)0xA0 + "2 test3");
assertEquals("First tag must be", "test", msg.Tags.get(0));
assertEquals("Third tag must be", "test3", msg.Tags.get(2));
assertEquals("Count of tags must be", 3, msg.Tags.size());
+ Date currentDate = new Date();
+ msg.setDate(currentDate);
+ MessageSerializer serializer = new MessageSerializer();
+ JSONObject jsonMessage = serializer.serialize(msg);
+ assertEquals("date should be in timestamp field", serializer.getDf().format(currentDate),
+ jsonMessage.getString("timestamp"));
+ JuickMessage xmppMessage = new JuickMessage(msg);
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+
+ DocumentBuilder db = dbf.newDocumentBuilder();
+ Document doc = db.parse(new ByteArrayInputStream(xmppMessage.toString().getBytes("UTF-8")));
+ Node juickNode = doc.getElementsByTagName("juick").item(0);
+ NamedNodeMap attrs = juickNode.getAttributes();
+ assertEquals("date should be in ts field", serializer.getDf().format(currentDate),
+ attrs.getNamedItem("ts").getNodeValue());
}
}
\ No newline at end of file |