diff options
Diffstat (limited to 'test/com/isode/stroke/parser/SerializingParserTest.java')
-rw-r--r-- | test/com/isode/stroke/parser/SerializingParserTest.java | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/test/com/isode/stroke/parser/SerializingParserTest.java b/test/com/isode/stroke/parser/SerializingParserTest.java new file mode 100644 index 0000000..eff8d6a --- /dev/null +++ b/test/com/isode/stroke/parser/SerializingParserTest.java @@ -0,0 +1,74 @@ +/* + * 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.parser; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import org.junit.Test; +import com.isode.stroke.parser.SerializingParser; +import com.isode.stroke.parser.XMLParserClient; +import com.isode.stroke.parser.ParserTester; +import com.isode.stroke.parser.AttributeMap; + +public class SerializingParserTest { + + private class ToTestSerializingParser extends SerializingParser implements XMLParserClient { + + } + + public SerializingParserTest() { + + } + + @Test + public void testParse() { + ToTestSerializingParser testling = new ToTestSerializingParser(); + ParserTester parser = new ParserTester(testling); + + assertTrue(parser.parse( + "<message type=\"chat\" to=\"me@foo.com\">" + + "<body>Hello<&World</body>" + + "<html xmlns=\"http://www.w3.org/1999/xhtml\">" + + "foo<b>bar</b>baz" + + "</html>" + + "</message>")); + + assertEquals( + "<message to=\"me@foo.com\" type=\"chat\">" + + "<body>Hello<&World</body>" + + "<html xmlns=\"http://www.w3.org/1999/xhtml\">foo<b xmlns=\"http://www.w3.org/1999/xhtml\">bar</b>baz</html>" + + "</message>", testling.getResult()); + } + + @Test + public void testParse_Empty() { + ToTestSerializingParser testling = new ToTestSerializingParser(); + + assertEquals("", testling.getResult()); + } + + @Test + public void testParse_ToplevelCharacterData() { + ToTestSerializingParser testling = new ToTestSerializingParser(); + + AttributeMap attributes = new AttributeMap(); + testling.handleCharacterData("foo"); + testling.handleStartElement("message", "", attributes); + testling.handleEndElement("message", ""); + testling.handleCharacterData("bar"); + + assertEquals("<message/>", testling.getResult()); + } +}
\ No newline at end of file |