blob: b3b6282ac06f6884f8aaee744d10b229d3b1f74b [file] [log] [blame]
// ONLY EDIT THIS FILE IN THE GRAMMAR ROOT DIRECTORY!
// THE ONE IN THE ${spec}-src DIRECTORY IS A COPY!!!
import java.io.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
/**
* Title:
* Description:
* Copyright: Copyright (c) 2001
* Company:
* @author
* @version 1.0
*/
public class Test {
public Test() {
}
public static void main(String[] args)
{
try
{
final boolean dumpTree = (args.length == 2 && args[1].equals("-dump"))?
true : false;
/*
String filename = null;
boolean dumpTree = false;
String expression = null;
boolean isQueryFile = false;
for(int i = 0; i < args.length; i++)
{
if(args[i].equals("-dump"))
{
dumpTree = true;
}
else if(args[i].equals("-f"))
{
i++;
filename = args[i];
}
else if(args[i].endsWith(".xquery"))
{
filename = args[i];
isQueryFile = true;
}
}
*/
if(args[0].endsWith(".xquery"))
{
System.out.println("Running test for: "+args[0]);
File file = new File(args[0]);
FileInputStream fis = new FileInputStream(file);
XPath parser = new XPath(fis);
SimpleNode tree = parser.XPath2();
if(dumpTree)
tree.dump("|") ;
}
else
{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(args[0]);
Element tests = doc.getDocumentElement();
NodeList testElems = tests.getChildNodes();
int nChildren = testElems.getLength();
int testid=0;
for (int i = 0; i < nChildren; i++) {
org.w3c.dom.Node node = testElems.item(i);
if(org.w3c.dom.Node.ELEMENT_NODE == node.getNodeType())
{
testid++;
String xpathString = ((Element)node).getAttribute("value");
if(dumpTree)
System.err.println("Test["+ testid+"]: "+xpathString);
XPath parser = new XPath(new java.io.StringBufferInputStream(xpathString));
SimpleNode tree = parser.XPath2();
if(dumpTree)
tree.dump("|") ;
}
}
}
System.out.println("Test successful!!!");
}
catch(Exception e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}