Revision: 19632
http://sourceforge.net/p/gate/code/19632
Author: markagreenwood
Date: 2016-10-05 07:18:05 +0000 (Wed, 05 Oct 2016)
Log Message:
-----------
got the files tests working by simply using a different file to check accurate
reading
Added Paths:
-----------
gate/branches/sawdust2/gate-core/src/test/java/gate/util/TestFiles.java
Removed Paths:
-------------
gate/branches/sawdust2/gate-core/src/test/disabled/gate/util/TestFiles.java
Deleted:
gate/branches/sawdust2/gate-core/src/test/disabled/gate/util/TestFiles.java
===================================================================
--- gate/branches/sawdust2/gate-core/src/test/disabled/gate/util/TestFiles.java
2016-10-05 06:50:49 UTC (rev 19631)
+++ gate/branches/sawdust2/gate-core/src/test/disabled/gate/util/TestFiles.java
2016-10-05 07:18:05 UTC (rev 19632)
@@ -1,264 +0,0 @@
-/*
- * TestFiles.java
- *
- * Copyright (c) 1995-2012, The University of Sheffield. See the file
- * COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt
- *
- * This file is part of GATE (see http://gate.ac.uk/), and is free
- * software, licenced under the GNU Library General Public License,
- * Version 2, June 1991 (in the distribution as file licence.html,
- * and also available at http://gate.ac.uk/gate/licence.html).
- *
- * Hamish Cunningham, 10/June/00
- *
- * $Id$
- */
-
-package gate.util;
-
-import java.io.*;
-import java.util.*;
-
-import org.apache.commons.io.IOUtils;
-
-import junit.framework.*;
-
-/** Files test class.
- */
-public class TestFiles extends TestCase
-{
- /** Debug flag */
- private static final boolean DEBUG = false;
-
- /** Construction */
- public TestFiles(String name) { super(name); }
-
- /** Fixture set up */
- @Override
- public void setUp() {
- } // setUp
-
- /** Test the getResourceAs... methods. */
- public void testGetResources() throws Exception {
- assertTrue(true);
- String japeResName = "jape/combined/testloc.jape";
- String firstLine = "// testloc.jape";
-
- BufferedReader bufResReader =
- new
BomStrippingInputStreamReader(Files.getGateResourceAsStream(japeResName));
- assertTrue(bufResReader.readLine().equals(firstLine));
- bufResReader.close();
-
- String resString = Files.getGateResourceAsString(japeResName);
- assertTrue(resString.startsWith(firstLine));
-
- byte[] resBytes = Files.getGateResourceAsByteArray(japeResName);
-
- /*
- Out.println(new String(resBytes));
- Out.println(resBytes.length);
- Out.println(resString);
- Out.println(resString.length());
- */
-
- char resChars[] = new char[firstLine.length()];
- for(int i=0; i<resChars.length; i++) resChars[i] = (char)resBytes[i];
- resString = new String(resChars);
- assertTrue(resString, resString.equals(firstLine));
-
- } // testGetResources()
-
- /** Test the writeTempFile... method. */
- public void testWriteTempFile() throws Exception {
- assertTrue(true);
- String japeResName = "jape/combined/testloc.jape";
- String firstLine = "// testloc.jape";
-
- File f = Files.writeTempFile(Files.getGateResourceAsStream(japeResName));
- BufferedReader bfr = null;
-
- try {
- bfr = new BufferedReader(new FileReader(f));
-
- String firstLn = bfr.readLine();
- assertTrue("first line from jape/combined/testloc.jape doesn't match",
- firstLine.equals(firstLn));
-
- f.delete ();
- }
- finally {
- IOUtils.closeQuietly(bfr);
- }
- } // testWriteTempFile()
-
- /** Test suite routine for the test runner */
- public static Test suite() {
- return new TestSuite(TestFiles.class);
- } // suite
-
- public static void main(String args[]){
- TestFiles app = new TestFiles("TestFiles");
- try {
- app.testJarFiles ();
- app.testGetResources();
- } catch (Exception e) {
- e.printStackTrace (Err.getPrintWriter());
- }
- } // main
-
- /** Test JarFiles methods */
- public void testJarFiles() throws Exception {
-
- JarFiles jarFiles = new JarFiles();
- Set<String> filesToMerge = new HashSet<String>();
- String jarFilePathFirst = "jartest/ajartest.jar";
- String jarFilePathSecond ="jartest/bjartest.jar";
- String jarPathFirst = null;;
- String jarPathSecond = null;
- String jarPathFinal = null;
- File resourceFile = null;
- File f1 = null;
- File f2 = null;
- FileInputStream fileStreamFirst = null;
- FileInputStream fileStreamSecond = null;
-
- //open first jar file in a temporal file
- // Out.println(Files.getResourceAsStream(jarFilePathFirst));
- f1 = Files.writeTempFile(Files.getGateResourceAsStream(jarFilePathFirst));
-
- //open second jar file in a temporal file
- f2 =Files.writeTempFile(Files.getGateResourceAsStream(jarFilePathSecond));
-
-
- //create a temporal file in order to put the classes of jar files
- resourceFile = File.createTempFile("jarfinal", ".tmp");
- resourceFile.deleteOnExit();
-
- //determin the paths of the temporal files
- jarPathFirst = f1.getAbsolutePath();
- jarPathSecond = f2.getAbsolutePath();
- f1.deleteOnExit();
- f2.deleteOnExit();
- jarPathFinal = resourceFile.getAbsolutePath();
- filesToMerge.add(jarPathFirst);
- filesToMerge.add(jarPathSecond);
-
- //close the temporal files
- fileStreamFirst = new FileInputStream(f1);
-
- fileStreamSecond = new FileInputStream(f2);
-
- fileStreamFirst.close();
-
- fileStreamSecond.close();
-
- jarFiles.merge(filesToMerge,jarPathFinal);
-
- } // testJarFiles
-
- /** Test the find method. */
- public void testFind(){
- String regex = "z:/gate2/doc/.*.html";
- String filePath = "z:/gate2/doc";
- Iterator<String> iter;
-
- Set<String> regfind = Files.Find(regex,filePath);
- iter = regfind.iterator();
- if (iter.hasNext()){
- while (iter.hasNext()){
- @SuppressWarnings("unused")
- String verif = iter.next();
- //Out.println(verif);
- }
- }
- } // testFind
-
- /** Test the updateXmlElement method. */
- public void testUpdateXmlElement() throws IOException {
- String nl = Strings.getNl();
- String configElementName = "GATECONFIG";
- String configElement = "<" + configElementName + " FULLSIZE=\"yes\"/>";
- String exampleXmlStart =
- "<?xml version=\"1.0\"?>" + nl +
- "<!-- a comment -->" + nl +
- "<GATE>" + nl +
- "" + nl +
- "<CREOLE-DIRECTORY>http://on.the.net/</CREOLE-DIRECTORY>" + nl +
- "<!--- The next element may be overwritten by the GUI --->" + nl;
- String exampleXmlEnd =
- "</GATE>" + nl;
- String exampleXml = exampleXmlStart + configElement + nl + exampleXmlEnd;
-
- // check that the getEmptyElement method works
- assertTrue(
- "the GATECONFIG element doesn't match",
- getEmptyElement(exampleXml, configElementName).equals(configElement)
- );
-
- // a map of values to place in the new element
- Map<String,String> newAttrs = new HashMap<String,String>();
- newAttrs.put("a", "1");
- newAttrs.put("b", "2");
- newAttrs.put("c", "3");
- newAttrs.put("d", "needs&escaping");
-
- // test the files method
- String newXml = Files.updateXmlElement(
- new BufferedReader(new StringReader(exampleXml)),
- configElementName,
- newAttrs
- );
- assertTrue(
- "newXml doesn't match (1): " + newXml.toString(),
- newXml.toString().startsWith(exampleXmlStart) &&
- newXml.toString().endsWith(exampleXmlEnd) &&
- newXml.toString().contains("a=\"1\"") &&
- newXml.toString().contains("d=\"needs&escaping\"")
- );
- if(DEBUG) Out.prln(newXml);
-
- // write the example data into a temp file and try on that
- File tempFile = Files.writeTempFile(exampleXml);
- newXml = Files.updateXmlElement(tempFile, configElementName, newAttrs);
- assertTrue(
- "newXml doesn't match (2): " + newXml.toString(),
- newXml.toString().startsWith(exampleXmlStart) &&
- newXml.toString().endsWith(exampleXmlEnd) &&
- newXml.toString().contains("a=\"1\"") &&
- newXml.toString().contains("d=\"needs&escaping\"")
- );
- if(DEBUG) Out.prln(newXml);
-
- // check that the file was overwritten successfully
- newXml = Files.getString(tempFile);
- assertTrue(
- "newXml doesn't match (3): " + newXml.toString(),
- newXml.toString().startsWith(exampleXmlStart) &&
- newXml.toString().endsWith(exampleXmlEnd) &&
- newXml.toString().contains("a=\"1\"") &&
- newXml.toString().contains("d=\"needs&escaping\"")
- );
- if(DEBUG) Out.prln(newXml);
-
- } // updateXmlElement
-
- /**
- * Helper method to extract an empty element from a string
- * containing XML
- */
- String getEmptyElement(String xml, String elementName) {
- // find the index of "<elementName"; find the next ">"
- int start = xml.indexOf("<" + elementName);
- int end = xml.indexOf(">", start);
-
- // get the range between the two indices
- StringBuffer xmlBuf = new StringBuffer(xml);
- String substr = xmlBuf.substring(start, end + 1);
- if(DEBUG) {
- Out.prln("start=" + start + "; end=" + end + "; substr=" + substr);
- }
-
- return substr;
- } // getEmptyElement
-
-} // class TestFiles
Copied: gate/branches/sawdust2/gate-core/src/test/java/gate/util/TestFiles.java
(from rev 19631,
gate/branches/sawdust2/gate-core/src/test/disabled/gate/util/TestFiles.java)
===================================================================
--- gate/branches/sawdust2/gate-core/src/test/java/gate/util/TestFiles.java
(rev 0)
+++ gate/branches/sawdust2/gate-core/src/test/java/gate/util/TestFiles.java
2016-10-05 07:18:05 UTC (rev 19632)
@@ -0,0 +1,246 @@
+/*
+ * TestFiles.java
+ *
+ * Copyright (c) 1995-2012, The University of Sheffield. See the file
+ * COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt
+ *
+ * This file is part of GATE (see http://gate.ac.uk/), and is free
+ * software, licenced under the GNU Library General Public License,
+ * Version 2, June 1991 (in the distribution as file licence.html,
+ * and also available at http://gate.ac.uk/gate/licence.html).
+ *
+ * Hamish Cunningham, 10/June/00
+ *
+ * $Id$
+ */
+
+package gate.util;
+
+import java.io.*;
+import java.util.*;
+
+import org.apache.commons.io.IOUtils;
+
+import junit.framework.*;
+
+/** Files test class.
+ */
+public class TestFiles extends TestCase
+{
+ /** Debug flag */
+ private static final boolean DEBUG = false;
+
+ /** Fixture set up */
+ @Override
+ public void setUp() {
+ } // setUp
+
+ /** Test the getResourceAs... methods. */
+ public void testGetResources() throws Exception {
+ assertTrue(true);
+ String japeResName = "gate.ac.uk/tests/ft-bt-03-aug-2001.html";
+ String firstLine = "<!-- Vignette V/5 Mon Aug 06 07:50:01 2001 -->";
+
+ BufferedReader bufResReader =
+ new
BomStrippingInputStreamReader(Files.getGateResourceAsStream(japeResName));
+ assertTrue(bufResReader.readLine().equals(firstLine));
+ bufResReader.close();
+
+ String resString = Files.getGateResourceAsString(japeResName);
+ assertTrue(resString.startsWith(firstLine));
+
+ byte[] resBytes = Files.getGateResourceAsByteArray(japeResName);
+
+ /*
+ Out.println(new String(resBytes));
+ Out.println(resBytes.length);
+ Out.println(resString);
+ Out.println(resString.length());
+ */
+
+ char resChars[] = new char[firstLine.length()];
+ for(int i=0; i<resChars.length; i++) resChars[i] = (char)resBytes[i];
+ resString = new String(resChars);
+ assertTrue(resString, resString.equals(firstLine));
+
+ } // testGetResources()
+
+ /** Test the writeTempFile... method. */
+ public void testWriteTempFile() throws Exception {
+ assertTrue(true);
+ String japeResName = "gate.ac.uk/tests/ft-bt-03-aug-2001.html";
+ String firstLine = "<!-- Vignette V/5 Mon Aug 06 07:50:01 2001 -->";
+
+ File f = Files.writeTempFile(Files.getGateResourceAsStream(japeResName));
+ BufferedReader bfr = null;
+
+ try {
+ bfr = new BufferedReader(new FileReader(f));
+
+ String firstLn = bfr.readLine();
+ assertTrue("first line from jape/combined/testloc.jape doesn't match",
+ firstLine.equals(firstLn));
+
+ f.delete ();
+ }
+ finally {
+ IOUtils.closeQuietly(bfr);
+ }
+ } // testWriteTempFile()
+
+ /** Test JarFiles methods */
+ public void testJarFiles() throws Exception {
+
+ JarFiles jarFiles = new JarFiles();
+ Set<String> filesToMerge = new HashSet<String>();
+ String jarFilePathFirst = "jartest/ajartest.jar";
+ String jarFilePathSecond ="jartest/bjartest.jar";
+ String jarPathFirst = null;;
+ String jarPathSecond = null;
+ String jarPathFinal = null;
+ File resourceFile = null;
+ File f1 = null;
+ File f2 = null;
+ FileInputStream fileStreamFirst = null;
+ FileInputStream fileStreamSecond = null;
+
+ //open first jar file in a temporal file
+ // Out.println(Files.getResourceAsStream(jarFilePathFirst));
+ f1 = Files.writeTempFile(Files.getGateResourceAsStream(jarFilePathFirst));
+
+ //open second jar file in a temporal file
+ f2 =Files.writeTempFile(Files.getGateResourceAsStream(jarFilePathSecond));
+
+
+ //create a temporal file in order to put the classes of jar files
+ resourceFile = File.createTempFile("jarfinal", ".tmp");
+ resourceFile.deleteOnExit();
+
+ //determin the paths of the temporal files
+ jarPathFirst = f1.getAbsolutePath();
+ jarPathSecond = f2.getAbsolutePath();
+ f1.deleteOnExit();
+ f2.deleteOnExit();
+ jarPathFinal = resourceFile.getAbsolutePath();
+ filesToMerge.add(jarPathFirst);
+ filesToMerge.add(jarPathSecond);
+
+ //close the temporal files
+ fileStreamFirst = new FileInputStream(f1);
+
+ fileStreamSecond = new FileInputStream(f2);
+
+ fileStreamFirst.close();
+
+ fileStreamSecond.close();
+
+ jarFiles.merge(filesToMerge,jarPathFinal);
+
+ } // testJarFiles
+
+ /** Test the find method. */
+ public void testFind(){
+ String regex = "z:/gate2/doc/.*.html";
+ String filePath = "z:/gate2/doc";
+ Iterator<String> iter;
+
+ Set<String> regfind = Files.Find(regex,filePath);
+ iter = regfind.iterator();
+ if (iter.hasNext()){
+ while (iter.hasNext()){
+ @SuppressWarnings("unused")
+ String verif = iter.next();
+ //Out.println(verif);
+ }
+ }
+ } // testFind
+
+ /** Test the updateXmlElement method. */
+ public void testUpdateXmlElement() throws IOException {
+ String nl = Strings.getNl();
+ String configElementName = "GATECONFIG";
+ String configElement = "<" + configElementName + " FULLSIZE=\"yes\"/>";
+ String exampleXmlStart =
+ "<?xml version=\"1.0\"?>" + nl +
+ "<!-- a comment -->" + nl +
+ "<GATE>" + nl +
+ "" + nl +
+ "<CREOLE-DIRECTORY>http://on.the.net/</CREOLE-DIRECTORY>" + nl +
+ "<!--- The next element may be overwritten by the GUI --->" + nl;
+ String exampleXmlEnd =
+ "</GATE>" + nl;
+ String exampleXml = exampleXmlStart + configElement + nl + exampleXmlEnd;
+
+ // check that the getEmptyElement method works
+ assertTrue(
+ "the GATECONFIG element doesn't match",
+ getEmptyElement(exampleXml, configElementName).equals(configElement)
+ );
+
+ // a map of values to place in the new element
+ Map<String,String> newAttrs = new HashMap<String,String>();
+ newAttrs.put("a", "1");
+ newAttrs.put("b", "2");
+ newAttrs.put("c", "3");
+ newAttrs.put("d", "needs&escaping");
+
+ // test the files method
+ String newXml = Files.updateXmlElement(
+ new BufferedReader(new StringReader(exampleXml)),
+ configElementName,
+ newAttrs
+ );
+ assertTrue(
+ "newXml doesn't match (1): " + newXml.toString(),
+ newXml.toString().startsWith(exampleXmlStart) &&
+ newXml.toString().endsWith(exampleXmlEnd) &&
+ newXml.toString().contains("a=\"1\"") &&
+ newXml.toString().contains("d=\"needs&escaping\"")
+ );
+ if(DEBUG) Out.prln(newXml);
+
+ // write the example data into a temp file and try on that
+ File tempFile = Files.writeTempFile(exampleXml);
+ newXml = Files.updateXmlElement(tempFile, configElementName, newAttrs);
+ assertTrue(
+ "newXml doesn't match (2): " + newXml.toString(),
+ newXml.toString().startsWith(exampleXmlStart) &&
+ newXml.toString().endsWith(exampleXmlEnd) &&
+ newXml.toString().contains("a=\"1\"") &&
+ newXml.toString().contains("d=\"needs&escaping\"")
+ );
+ if(DEBUG) Out.prln(newXml);
+
+ // check that the file was overwritten successfully
+ newXml = Files.getString(tempFile);
+ assertTrue(
+ "newXml doesn't match (3): " + newXml.toString(),
+ newXml.toString().startsWith(exampleXmlStart) &&
+ newXml.toString().endsWith(exampleXmlEnd) &&
+ newXml.toString().contains("a=\"1\"") &&
+ newXml.toString().contains("d=\"needs&escaping\"")
+ );
+ if(DEBUG) Out.prln(newXml);
+
+ } // updateXmlElement
+
+ /**
+ * Helper method to extract an empty element from a string
+ * containing XML
+ */
+ String getEmptyElement(String xml, String elementName) {
+ // find the index of "<elementName"; find the next ">"
+ int start = xml.indexOf("<" + elementName);
+ int end = xml.indexOf(">", start);
+
+ // get the range between the two indices
+ StringBuffer xmlBuf = new StringBuffer(xml);
+ String substr = xmlBuf.substring(start, end + 1);
+ if(DEBUG) {
+ Out.prln("start=" + start + "; end=" + end + "; substr=" + substr);
+ }
+
+ return substr;
+ } // getEmptyElement
+
+} // class TestFiles
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs