package wstxtest;
import java.io.*;
import javax.xml.stream.*;
import javax.xml.stream.events.*;
import org.codehaus.stax2.*;
import com.ctc.wstx.cfg.ErrorConsts;
import com.ctc.wstx.api.ReaderConfig;
import com.ctc.wstx.stax.MinimalInputFactory;
import com.ctc.wstx.stax.WstxInputFactory;
/**
* Simple test-driver that tries to exercise some of basic input factory
* settings, like instantiating various reader instances, checking for
* invalid arguments and so on.
*/
public class TestInputFactory
extends BaseWstxTest
{
public void testSubsetFactories()
{
MinimalInputFactory f = MinimalInputFactory.newMinimalInstance();
ReaderConfig cfg = f.getConfig();
assertNotNull(cfg);
assertNull(f.getXMLResolver());
assertNull(f.getXMLReporter());
MyReporter rep = new MyReporter();
f.setXMLReporter(rep);
assertEquals(rep, f.getXMLReporter());
assertFalse(f.isPropertySupported("foobar"));
}
public void testStreamConstructors()
throws XMLStreamException
{
// !!! TBI
}
public void testEventConstructors()
throws XMLStreamException
{
// !!! TBI
}
public void testConfig()
throws XMLStreamException
{
XMLInputFactory2 f = getNewInputFactory();
ReaderConfig cfg = ((WstxInputFactory) f).getConfig();
assertNotNull(cfg);
assertNull(f.getEventAllocator());
assertNull(f.getXMLResolver());
assertNull(f.getXMLReporter());
MyReporter rep = new MyReporter();
f.setXMLReporter(rep);
assertEquals(rep, f.getXMLReporter());
assertFalse(f.isPropertySupported("foobar"));
}
public void testMisc()
throws XMLStreamException
{
/* This is silly, but coverage testing is not happy that our
* error-constant-defining class is never constructed.
* So here we go, just to mark it off the list...
*/
ErrorConsts ec = new ErrorConsts();
assertNotNull(ec.tokenTypeDesc(XMLStreamConstants.START_DOCUMENT));
assertNotNull(ec.tokenTypeDesc(XMLStreamConstants.END_DOCUMENT));
assertNotNull(ec.tokenTypeDesc(XMLStreamConstants.ATTRIBUTE));
}
/*
////////////////////////////////////////////////////////////
// Non-test methods etc
////////////////////////////////////////////////////////////
*/
final static class MyReporter
implements XMLReporter
{
public void report(String message, String errorType, Object relatedInformation, Location location)
{
// fine...
}
}
}