package nl.siegmann.epublib.utilities; import java.io.ByteArrayOutputStream; import java.io.InputStreamReader; import java.io.Reader; import java.util.List; import javax.xml.stream.XMLEventWriter; import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.events.XMLEvent; import junit.framework.TestCase; import nl.siegmann.epublib.Constants; public class HtmlSplitterTest extends TestCase { public void test1() { HtmlSplitter htmlSplitter = new HtmlSplitter(); try { String bookResourceName = "/holmes_scandal_bohemia.html"; Reader input = new InputStreamReader(HtmlSplitterTest.class.getResourceAsStream(bookResourceName), Constants.CHARACTER_ENCODING); int maxSize = 3000; List<List<XMLEvent>> result = htmlSplitter.splitHtml(input, maxSize); XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newInstance(); for(int i = 0; i < result.size(); i++) { ByteArrayOutputStream out = new ByteArrayOutputStream(); XMLEventWriter writer = xmlOutputFactory.createXMLEventWriter(out); for(XMLEvent xmlEvent: result.get(i)) { writer.add(xmlEvent); } writer.close(); byte[] data = out.toByteArray(); assertTrue(data.length > 0); assertTrue(data.length <= maxSize); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }