@Test public void parseInvalidMarkdownFileBasic() { Parser parser = new Parser(config); Map<String, Object> map = parser.processFile(invalidMdFileBasic); Assert.assertNull(map); }
private void crawlSourceFile(final File sourceFile, final String sha1, final String uri) { try { Map<String, Object> fileContents = parser.processFile(sourceFile); if (fileContents != null) { fileContents.put(Attributes.ROOTPATH, getPathToRoot(sourceFile));
/** * Creates new instance of Crawler. * * @param db Database instance for content * @param config Project configuration */ public Crawler(ContentStore db, JBakeConfiguration config) { this.db = db; this.config = config; this.parser = new Parser(config); }
@Test public void parseValidAsciiDocFile() { Map<String, Object> map = parser.processFile(validAsciiDocFile); Assert.assertNotNull(map); Assert.assertEquals("draft", map.get("status")); Assert.assertEquals("post", map.get("type")); assertThat(map.get("body").toString()) .contains("class=\"paragraph\"") .contains("<p>JBake now supports AsciiDoc.</p>"); // Assert.assertEquals("<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>JBake now supports AsciiDoc.</p>\n</div>\n</div>\n</div>", map.get("body")); }
/** * @param db Database instance for content * @param source Base directory where content directory is located * @param config Project configuration * @deprecated Use {@link #Crawler(ContentStore, JBakeConfiguration)} instead. * <p> * Creates new instance of Crawler. */ @Deprecated public Crawler(ContentStore db, File source, CompositeConfiguration config) { this.db = db; this.config = new JBakeConfigurationFactory().createDefaultJbakeConfiguration(source, config); this.parser = new Parser(this.config); }
@Test public void parseWithInvalidExtension() throws Exception { config.setMarkdownExtensions("HARDWRAPS,UNDEFINED_EXTENSION"); // Test with HARDWRAPS Parser parser = new Parser(config); Map<String, Object> map = parser.processFile(mdFileHardWraps); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains("<p>First line<br />\nSecond line</p>\n"); }
@Test public void parseValidHTMLWithJSONFile() { Map<String, Object> map = parser.processFile(validHTMLWithJSONFile); assertJSONExtracted(map.get("jsondata")); }
rootPath = TestUtils.getTestResourcesAsSourceFolder(); config = (DefaultJBakeConfiguration) new ConfigUtil().loadConfig(rootPath); parser = new Parser(config);
@Test public void parseValidMdFileHardWraps() throws Exception { config.setMarkdownExtensions("HARDWRAPS"); // Test with HARDWRAPS Parser parser = new Parser(config); Map<String, Object> map = parser.processFile(mdFileHardWraps); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains("<p>First line<br />\nSecond line</p>\n"); // Test without HARDWRAPS config.setMarkdownExtensions(""); parser = new Parser(config); map = parser.processFile(mdFileHardWraps); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains("<p>First line Second line</p>"); }
@Test public void testValidAsciiDocWithADHeaderJSONFile() { Map<String, Object> map = parser.processFile(validAsciiDocWithADHeaderJSONFile); assertJSONExtracted(map.get("jsondata")); }
/** * Creates new instance of Crawler. * * @param db Database instance for content * @param config Project configuration */ public Crawler(ContentStore db, JBakeConfiguration config) { this.db = db; this.config = config; this.parser = new Parser(config); }
@Test public void parseValidMdFileAbbreviations() throws Exception { config.setMarkdownExtensions("ABBREVIATIONS"); // Test with ABBREVIATIONS Parser parser = new Parser(config); Map<String, Object> map = parser.processFile(mdFileAbbreviations); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains( "<p><abbr title=\"Hyper Text Markup Language\">HTML</abbr></p>" ); // Test without ABBREVIATIONS config.setMarkdownExtensions(""); parser = new Parser(config); map = parser.processFile(mdFileAbbreviations); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains("<p>*[HTML]: Hyper Text Markup Language HTML</p>"); }
@Test public void parseValidAsciiDocWithJSONFile() { Map<String, Object> map = parser.processFile(validAsciiDocWithJSONFile); assertJSONExtracted(map.get("jsondata")); }
@Before public void setup() throws Exception { currentLocale = Locale.getDefault(); Locale.setDefault(Locale.ENGLISH); ModelExtractorsDocumentTypeListener listener = new ModelExtractorsDocumentTypeListener(); DocumentTypes.addListener(listener); templateFolder = new File(sourceFolder, templateDir); if (!templateFolder.exists()) { throw new Exception("Cannot find template folder!"); } destinationFolder = folder.getRoot(); config.setDestinationFolder(destinationFolder); config.setTemplateFolder(templateFolder); for (String docType : DocumentTypes.getDocumentTypes()) { File templateFile = config.getTemplateFileByDocType(docType); if (templateFile != null) { String fileName = templateFile.getName(); String fileBaseName = fileName.substring(0, fileName.lastIndexOf(".")); config.setTemplateFileNameForDocType(docType, fileBaseName + "." + templateExtension); } } Assert.assertEquals(".html", config.getOutputExtension()); Crawler crawler = new Crawler(db, config); crawler.crawl(); parser = new Parser(config); renderer = new Renderer(db, config); setupExpectedOutputStrings(); }
@Test public void parseValidMdFileQuotes() throws Exception { config.setMarkdownExtensions(""); config.setMarkdownExtensions("QUOTES"); // Test with QUOTES Parser parser = new Parser(config); Map<String, Object> map = parser.processFile(mdFileQuotes); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains("<p>“quotes”</p>"); // Test without QUOTES config.setMarkdownExtensions(""); parser = new Parser(config); map = parser.processFile(mdFileQuotes); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains("<p>"quotes"</p>"); }
@Test public void parseValidAsciiDocFileWithExampleHeaderInContent() { Map<String, Object> map = parser.processFile(validAsciiDocFileWithHeaderInContent); Assert.assertNotNull(map); Assert.assertEquals("published", map.get("status")); Assert.assertEquals("page", map.get("type")); assertThat(map.get("body").toString()) .contains("class=\"paragraph\"") .contains("<p>JBake now supports AsciiDoc.</p>") .contains("class=\"listingblock\"") .contains("class=\"content\"") .contains("<pre>") .contains("title=Example Header") .contains("date=2013-02-01") .contains("tags=tag1, tag2"); // Assert.assertEquals("<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>JBake now supports AsciiDoc.</p>\n</div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre>title=Example Header\ndate=2013-02-01\ntype=post\ntags=tag1, tag2\nstatus=published\n~~~~~~</pre>\n</div>\n</div>\n</div>\n</div>", map.get("body")); }
/** * @param db Database instance for content * @param source Base directory where content directory is located * @param config Project configuration * @deprecated Use {@link #Crawler(ContentStore, JBakeConfiguration)} instead. * <p> * Creates new instance of Crawler. */ @Deprecated public Crawler(ContentStore db, File source, CompositeConfiguration config) { this.db = db; this.config = new JBakeConfigurationFactory().createDefaultJbakeConfiguration(source, config); this.parser = new Parser(this.config); }
@Test public void parseValidMdFileSmarts() throws Exception { config.setMarkdownExtensions(""); config.setMarkdownExtensions("SMARTS"); // Test with SMARTS Parser parser = new Parser(config); Map<String, Object> map = parser.processFile(mdFileSmarts); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains("<p>…</p>"); // Test without SMARTS config.setMarkdownExtensions(""); parser = new Parser(config); map = parser.processFile(mdFileSmarts); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains("<p>...</p>"); }
@Test public void parseValidAsciiDocFileWithoutHeader() { Map<String, Object> map = parser.processFile(validAsciiDocFileWithoutHeader); Assert.assertNotNull(map); Assert.assertEquals("Hello: AsciiDoc!", map.get("title")); Assert.assertEquals("published", map.get("status")); Assert.assertEquals("page", map.get("type")); assertThat(map.get("body").toString()) .contains("class=\"paragraph\"") .contains("<p>JBake now supports AsciiDoc.</p>"); // Assert.assertEquals("<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>JBake now supports AsciiDoc.</p>\n</div>\n</div>\n</div>", map.get("body")); }
@Test public void parseValidMdFileSuppressInlineHTML() throws Exception { config.setMarkdownExtensions(""); config.setMarkdownExtensions("SUPPRESS_INLINE_HTML"); // Test with SUPPRESS_INLINE_HTML Parser parser = new Parser(config); Map<String, Object> map = parser.processFile(mdFileSuppressInlineHTML); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains("<p>This is the first paragraph. with inline html</p>"); // Test without SUPPRESS_INLINE_HTML config.setMarkdownExtensions(""); parser = new Parser(config); map = parser.processFile(mdFileSuppressInlineHTML); Assert.assertNotNull(map); assertThat(map.get("body").toString()).contains("<p>This is the first paragraph. <span> with </span> inline html</p>"); }