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); + } + } }