X-Git-Url: http://jaekl.net/gitweb/?p=cfb.git;a=blobdiff_plain;f=test%2Fnet%2Fjaekl%2Fcfb%2Fanalyze%2FAnalyzerTest.java;h=9691efa9b2196c0df43c418ccd58a0772ae0abd3;hp=d7e8395cd173f0907030e76ca2671e91aa540243;hb=88c635ae6a039a873cba2d794c55d726dcdc616d;hpb=281aef4ae884879bcee2df781f3460d621c6708c
diff --git a/test/net/jaekl/cfb/analyze/AnalyzerTest.java b/test/net/jaekl/cfb/analyze/AnalyzerTest.java
index d7e8395..9691efa 100644
--- a/test/net/jaekl/cfb/analyze/AnalyzerTest.java
+++ b/test/net/jaekl/cfb/analyze/AnalyzerTest.java
@@ -2,11 +2,55 @@ package net.jaekl.cfb.analyze;
import static org.junit.Assert.*;
+import java.io.ByteArrayInputStream;
import java.io.File;
+import java.io.IOException;
+import java.nio.charset.Charset;
+import java.util.HashMap;
+
+import net.jaekl.cfb.xml.BugCollection;
+import net.jaekl.cfb.xml.BugInstance;
+import net.jaekl.qd.xml.XmlParseException;
import org.junit.Test;
+import org.xml.sax.InputSource;
public class AnalyzerTest {
+ private static final String UTF8 = "utf-8";
+
+ private static final String SAMPLE1_XML = ""
+ + "\n"
+ + "\n"
+ + "\n"
+ + "/home/chris/prog/././cfb/bin\n"
+ + "/home/chris/prog/././cfb/src\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n"
+ + "\n";
@Test
public void testOutputWorkFile() {
@@ -33,4 +77,35 @@ public class AnalyzerTest {
}
}
+ @Test
+ public void testParseSample1() throws IOException, XmlParseException {
+ Charset utf8 = Charset.forName(UTF8);
+ BugInstance inst = null;
+
+ try ( ByteArrayInputStream bais = new ByteArrayInputStream(SAMPLE1_XML.getBytes(utf8)))
+ {
+ InputSource inputSource = new InputSource(bais);
+ Analyzer analyzer = new Analyzer(new File("."));
+ Analysis analysis = analyzer.parseFbOutput(inputSource);
+
+ assertNotNull(analysis);
+
+ BugCollection bugColl = analysis.getBugCollection();
+
+ assertNotNull(bugColl);
+ assertEquals(2, bugColl.size());
+
+ HashMap typeMap = new HashMap();
+ for (int idx = 0; idx < bugColl.size(); ++idx) {
+ inst = bugColl.get(idx);
+ typeMap.put(inst.getType(), inst);
+ }
+
+ inst = typeMap.get("DM_DEFAULT_ENCODING");
+ assertNotNull(inst);
+
+ inst = typeMap.get("RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE");
+ assertNotNull(inst);
+ }
+ }
}