com.aliasi.test.unit.xml.SAXWriterTest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aliasi-lingpipe Show documentation
Show all versions of aliasi-lingpipe Show documentation
This is the original Lingpipe:
http://alias-i.com/lingpipe/web/download.html
There were not made any changes to the source code.
/*
* LingPipe v. 4.1.0
* Copyright (C) 2003-2011 Alias-i
*
* This program is licensed under the Alias-i Royalty Free License
* Version 1 WITHOUT ANY WARRANTY, without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Alias-i
* Royalty Free License Version 1 for more details.
*
* You should have received a copy of the Alias-i Royalty Free License
* Version 1 along with this program; if not, visit
* http://alias-i.com/lingpipe/licenses/lingpipe-license-1.txt or contact
* Alias-i, Inc. at 181 North 11th Street, Suite 401, Brooklyn, NY 11211,
* +1 (718) 290-9170.
*/
package com.aliasi.test.unit.xml;
import org.junit.Test;
import static junit.framework.Assert.assertEquals;
import com.aliasi.xml.SAXWriter;
import java.io.ByteArrayOutputStream;
import java.io.CharArrayReader;
import java.io.IOException;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import org.xml.sax.InputSource;
import org.xml.sax.helpers.XMLReaderFactory;
public class SAXWriterTest {
@Test
public void testCharsets() throws IOException, SAXException {
assertReadWrite("","UTF-8");
assertReadWrite("","ASCII");
assertReadWrite("","ISO-8859-1");
assertReadWrite("","UTF-16");
assertReadWrite("","ISO-8859-1");
}
@Test
public void testIgnorableWhitespace() throws IOException, SAXException {
assertReadWrite(" ",
"",
"UTF-8");
assertReadWrite(" ",
"",
"UTF-8");
}
@Test
public void testIllegalChars() throws IOException, SAXException {
assertReadWrite("\u2297","UTF-16");
// encodes \u2297, using ࣹinstead
assertReadWrite("\u2297",
"⊗",
"ISO-8859-1");
}
@Test
public void testNamespaces() throws IOException, SAXException {
assertReadWrite("Hello World. ",
"ISO-8859-1");
assertReadWrite("Hello World.",
"ISO-8859-1");
assertReadWrite("Hello World.",
"ISO-8859-1");
// need better test that doesn't depend on ordering
// assertReadWrite("Hello World. ",
// "ISO-8859-1");
}
@Test
public void testXHTML() throws IOException, SAXException {
assertReadWrite("
",
"
",
"ISO-8859-1",
true);
assertReadWrite("
",
"
",
"ISO-8859-1",
true);
}
private void assertReadWrite(String sourceString, String charset)
throws IOException, SAXException {
assertReadWrite(sourceString,charset,false);
}
private void assertReadWrite(String sourceString, String charset, boolean xhtmlMode)
throws IOException, SAXException {
assertReadWrite(sourceString,sourceString,charset,xhtmlMode);
}
private void assertReadWrite(String sourceString, String targetString,
String charset)
throws IOException, SAXException {
assertReadWrite(sourceString,targetString,charset,false);
}
private void assertReadWrite(String sourceString, String targetString,
String charset, boolean xhtmlMode)
throws IOException, SAXException {
CharArrayReader reader
= new CharArrayReader(sourceString.toCharArray());
InputSource in = new InputSource(reader);
in.setEncoding(charset);
XMLReader xmlReader = XMLReaderFactory.createXMLReader();
ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
SAXWriter writer = new SAXWriter(bytesOut,charset,xhtmlMode);
xmlReader.setContentHandler(writer);
xmlReader.setDTDHandler(writer);
xmlReader.parse(in);
byte[] bytes = bytesOut.toByteArray();
String s = new String(bytes,0,bytes.length,charset);
assertEquals("\n" + targetString + " \n!=\n" + s + "\n", targetString ,s);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy