package org.exolab.castor.xml.dtd;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.StringWriter;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.HashMap;
import org.exolab.castor.xml.schema.SchemaException;
import org.junit.Test;
import org.xml.sax.SAXException;
public class ConverterTest {
@Test
public void testNonamespaces()
throws SchemaException, DTDException, IOException, SAXException, URISyntaxException {
Converter convertor = new Converter();
URL in = getClass().getResource("test.dtd");
File inFile = new File(in.toURI());
String encoding = "US-ASCII";
StringWriter writer = new StringWriter();
convertor.process(new FileReader(inFile), writer, encoding, null, new HashMap<String, String>());
String generatedSchema = writer.toString();
System.out.println(generatedSchema);
assertNotNull(generatedSchema);
assertFalse(generatedSchema.contains("targetNameSpace"));
assertFalse(generatedSchema.contains("xmlns:test=\"http://test\""));
assertTrue(generatedSchema.contains("<element ref=\"description\"/>"));
}
@Test
public void testWithTargetnamespace()
throws SchemaException, DTDException, IOException, SAXException, URISyntaxException {
Converter convertor = new Converter();
URL in = getClass().getResource("test.dtd");
File inFile = new File(in.toURI());
String encoding = "US-ASCII";
StringWriter writer = new StringWriter();
HashMap<String, String> namespaces = new HashMap<String, String>();
namespaces.put("test", "http://test");
convertor.process(new FileReader(inFile), writer, encoding, "http://test", namespaces);
String generatedSchema = writer.toString();
System.out.println(generatedSchema);
assertNotNull(generatedSchema);
assertTrue(generatedSchema.contains("targetNamespace"));
assertTrue(generatedSchema.contains("xmlns:test=\"http://test\""));
assertTrue(generatedSchema.contains("<element ref=\"test:description\"/>"));
}
}