@Test
public void testBasic() throws Exception {

    RecursiveParserWrapper w = new RecursiveParserWrapper(AUTO_DETECT_PARSER);
    for (String fName : new String[]{"testAccess2.accdb", "testAccess2_2000.mdb",
            "testAccess2_2002-2003.mdb"}) {
        InputStream is = null;
        RecursiveParserWrapperHandler handler = new RecursiveParserWrapperHandler(
                new BasicContentHandlerFactory(BasicContentHandlerFactory.HANDLER_TYPE.XML, -1)
        );
        try {
            is = this.getResourceAsStream("/test-documents/" + fName);
            Metadata meta = new Metadata();
            ParseContext c = new ParseContext();
            w.parse(is, handler, meta, c);
        } finally {
            IOUtils.closeQuietly(is);
        }
        List<Metadata> list = handler.getMetadataList();
        assertEquals(4, list.size());
        String mainContent = list.get(0).get(RecursiveParserWrapperHandler.TIKA_CONTENT);
        //make sure there's a thead and tbody
        assertContains("</thead><tbody>", mainContent);
        //assert table header
        assertContains("<th>ShortTextField</th>", mainContent);
        //test date format
        //java 8 is 6/24/15 ...java 10 is 2015-06-24
        assertTrue (mainContent.contains("6/24/15") || mainContent.contains("2015-06-24"));
        //test that markup is stripped
        assertContains("over the bold italic dog", mainContent);
        //test unicode
        assertContains("\u666E\u6797\u65AF\u987F\u5927\u5B66", mainContent);
        //test embedded document handling
        assertContains("Test Document with embedded pdf",
                list.get(3).get(RecursiveParserWrapperHandler.TIKA_CONTENT));
    }
}