00001 package net.threebit.utils.sosc.test;
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 import java.io.*;
00023 import java.sql.*;
00024 import java.util.*;
00025 import javax.xml.transform.stream.*;
00026 import javax.xml.transform.*;
00027 import junit.framework.*;
00028 import net.threebit.utils.sosc.*;
00029 import java.util.logging.*;
00030
00035 public class XmlToolTest extends TestCase {
00036
00037 public void test1() throws Exception {
00038
00039 final PipedInputStream pi = new PipedInputStream();
00040 final PipedOutputStream po = new PipedOutputStream(pi);
00041 final Map signal = new HashMap();
00042 signal.put("blah","blah");
00043
00044 Thread t = new Thread() {
00045 public void run() {
00046 try {
00047 XmlTool.transform(
00048
00049 "<simpleXML><node>val1</node></simpleXML>",
00050
00051 "<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">" +
00052 "<xsl:template match=\"/batch\">" +
00053 "<xsl:for-each select=\"/simpleXML\">" +
00054 "<xsl:value-of select=\"node\"/>" +
00055 "</xsl:for-each>" +
00056 "</xsl:template>" +
00057 "</xsl:stylesheet>",
00058 po
00059 );
00060 }
00061 catch (Exception e) { e.printStackTrace(); }
00062 try { po.close(); }
00063 catch (Exception e) { e.printStackTrace(); }
00064 signal.clear();
00065 }
00066 };
00067 t.start();
00068
00069 BufferedReader br = new BufferedReader( new InputStreamReader(pi) );
00070 assertTrue(br.readLine().equals("val1"));
00071 assertTrue(br.readLine() == null);
00072
00073
00074 try { Thread.sleep(1000); } catch (Exception e) { }
00075 assertTrue(signal.size() == 0);
00076 }
00077
00078 }