Skip to content

Commit

Permalink
test: try to reproduce the reported issue as #1187
Browse files Browse the repository at this point in the history
  • Loading branch information
KengoTODA committed Jul 4, 2020
1 parent b639c52 commit 7409993
Showing 1 changed file with 62 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package edu.umd.cs.findbugs;

import edu.umd.cs.findbugs.ba.AnalysisContext;
import edu.umd.cs.findbugs.classfile.Global;
import edu.umd.cs.findbugs.classfile.IAnalysisCache;
import edu.umd.cs.findbugs.classfile.impl.ClassFactory;
import edu.umd.cs.findbugs.classfile.impl.ClassPathImpl;
import edu.umd.cs.findbugs.internalAnnotations.DottedClassName;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.PrintWriter;
import java.io.StringWriter;

public class HTMLBugReporterTest {
private HTMLBugReporter reporter;
private StringWriter writer;

@Before
public void setup() {
Project project = new Project();
reporter = new HTMLBugReporter(project, "fancy.xsl");
writer = new StringWriter();
reporter.setWriter(new PrintWriter(writer));
reporter.setPriorityThreshold(Priorities.IGNORE_PRIORITY);
DetectorFactoryCollection.resetInstance(new DetectorFactoryCollection());
IAnalysisCache analysisCache = ClassFactory.instance().createAnalysisCache(new ClassPathImpl(), reporter);
Global.setAnalysisCacheForCurrentThread(analysisCache);
FindBugs2.registerBuiltInAnalysisEngines(analysisCache);
AnalysisContext analysisContext = new AnalysisContext(project) {
public boolean isApplicationClass(@DottedClassName String className) {
// treat all classes as application class, to report bugs in it
return true;
}
};
AnalysisContext.setCurrentAnalysisContext(analysisContext);
}

@After
public void teardown() {
AnalysisContext.removeCurrentAnalysisContext();
Global.removeAnalysisCacheForCurrentThread();
}

/**
* @see <a href="https://github.com/spotbugs/spotbugs/issues/1187">related GitHub Issue</a>
*/
@Test
public void testInnerClass() {
BugPattern bugPattern = new BugPattern("bugType", "abbrev", "category", false, "shortDescription",
"describing about this bug type with value {0}...", "detailText", null, 0);
DetectorFactoryCollection.instance().registerBugPattern(bugPattern);
BugCode bugCode = new BugCode("abbrev", "description", 0);
DetectorFactoryCollection.instance().registerBugCode(bugCode);

reporter.reportBug(new BugInstance(bugPattern.getType(), bugPattern.getPriorityAdjustment()).addInt(10).addClass("the/target/Class$Inner"));
reporter.finish();

System.out.println(writer.toString());
}
}

0 comments on commit 7409993

Please sign in to comment.