Ignore:
Timestamp:
2016-08-24T00:18:37+02:00 (8 years ago)
Author:
Don-vip
Message:

fix #13434 - Increase bug report test coverage (patch by michael2402) - gsoc-core

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/unit/org/openstreetmap/josm/tools/bugreport/BugReportTest.java

    r10285 r10886  
    33
    44import static org.junit.Assert.assertEquals;
     5import static org.junit.Assert.assertSame;
     6import static org.junit.Assert.assertTrue;
    57
     8import java.io.IOException;
     9import java.io.PrintWriter;
     10import java.io.StringWriter;
     11
     12import org.junit.Rule;
    613import org.junit.Test;
     14import org.openstreetmap.josm.testutils.JOSMTestRules;
     15
     16import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
    717
    818/**
    919 * Tests the bug report class.
    1020 * @author Michael Zangl
    11  * @since 10285
    1221 */
    1322public class BugReportTest {
     23    /**
     24     * Preferences for the report text
     25     */
     26    @Rule
     27    @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD")
     28    public JOSMTestRules test = new JOSMTestRules().preferences();
     29
     30    /**
     31     * Test {@link BugReport#getReportText()}
     32     */
     33    @Test
     34    public void testReportText() {
     35        ReportedException e = interceptInChildMethod(new IOException("test-exception-message"));
     36        e.put("test-key", "test-value");
     37        String text = new BugReport(e).getReportText();
     38
     39        assertTrue(text.contains("test-exception-message"));
     40        assertTrue(text.contains("interceptInChildMethod"));
     41        assertTrue(text.contains("testReportText")); // stack trace
     42        assertTrue(text.contains("test-key: test-value"));
     43    }
     44
     45    /**
     46     * Test {@link BugReport#intercept(Throwable)}
     47     */
     48    @Test
     49    public void testIntercept() {
     50        IOException base = new IOException("test");
     51        ReportedException intercepted = interceptInChildMethod(base);
     52        assertEquals(intercepted.getCause(), base);
     53
     54        StringWriter out = new StringWriter();
     55        intercepted.printReportDataTo(new PrintWriter(out));
     56
     57        assertTrue(out.toString().contains("interceptInChildMethod")); // calling method.
     58
     59        assertSame(intercepted, BugReport.intercept(intercepted));
     60    }
     61
     62    private ReportedException interceptInChildMethod(IOException base) {
     63        return BugReport.intercept(base);
     64    }
    1465
    1566    /**
     
    2071        assertEquals("BugReportTest#testGetCallingMethod", BugReport.getCallingMethod(1));
    2172        assertEquals("BugReportTest#testGetCallingMethod", testGetCallingMethod2());
     73        assertEquals("?", BugReport.getCallingMethod(100));
    2274    }
    2375
Note: See TracChangeset for help on using the changeset viewer.