/* * 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( "" + "Hello<&World" + "" + "foobarbaz" + "" + "")); assertEquals( "" + "Hello<&World" + "foobarbaz" + "", 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("", testling.getResult()); } }