diff --git a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformer.java b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformer.java index 1faf0eb..d6df554 100755 --- a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformer.java +++ b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/CommonmarkTransformer.java @@ -71,7 +71,7 @@ public class CommonmarkTransformer implements Transformer { throws IOException { if (this.logger.isTraceEnabled()) this.logger.trace("transform('" + transformName + "', '" + sourceMimetype + "', '" + targetMimetype + "', " + transformOptions.keySet() + ", '" + sourceFile + "', '" + targetFile + "')"); - if (!MediaType.TEXT_PLAIN_VALUE.equals(sourceMimetype)) + if (!MediaType.TEXT_MARKDOWN_VALUE.equals(sourceMimetype)) throw new TransformException(HttpStatus.BAD_REQUEST.value(), "This transformer does not support source data of the '" + sourceMimetype + "' type"); List extensions = this.gatherExtensions(transformOptions); diff --git a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformer.java b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformer.java index 4eaaba4..994cda5 100644 --- a/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformer.java +++ b/tengine/src/main/java/com/inteligr8/alfresco/module/alfmarkdown/FlexmarkTransformer.java @@ -73,7 +73,7 @@ public class FlexmarkTransformer implements Transformer { throws IOException { if (this.logger.isTraceEnabled()) this.logger.trace("transform('" + transformName + "', '" + sourceMimetype + "', '" + targetMimetype + "', " + transformOptions.keySet() + ", '" + sourceFile + "', '" + targetFile + "')"); - if (!MediaType.TEXT_PLAIN_VALUE.equals(sourceMimetype)) + if (!MediaType.TEXT_MARKDOWN_VALUE.equals(sourceMimetype)) throw new TransformException(HttpStatus.BAD_REQUEST.value(), "This transformer does not support source data of the '" + sourceMimetype + "' type"); String profile = transformOptions.getOrDefault(RequestParamConstants.PROFILE, this.profile); diff --git a/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/TransformerTest.java b/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/TransformerTest.java index be38cda..882c6e6 100755 --- a/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/TransformerTest.java +++ b/tengine/src/test/java/com/inteligr8/alfresco/module/alfmarkdown/TransformerTest.java @@ -1,11 +1,16 @@ package com.inteligr8.alfresco.module.alfmarkdown; +import java.io.File; +import java.io.IOException; +import java.net.URISyntaxException; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Map; import org.alfresco.transform.exceptions.TransformException; import org.alfresco.transformer.executors.Transformer; +import org.jsoup.Jsoup; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; @@ -52,4 +57,31 @@ public abstract class TransformerTest { } } + @Test + public void tryTransformQuick() throws IOException, URISyntaxException { + File targetFile = this.transform(Collections.emptyMap(), new File(this.getClass().getResource("/quick.md").toURI())); + try { + Assert.assertEquals(70L, targetFile.length()); + + // is valid html + Jsoup.parse(targetFile, "utf-8"); + } finally { + targetFile.delete(); + } + } + + private File transform(Map transformOptions, File sourceFile) throws IOException, TransformException { + File htmlFile = File.createTempFile("test-", ".html"); + try { + this.getTransformer().transform(MediaType.TEXT_MARKDOWN_VALUE, MediaType.TEXT_HTML_VALUE, transformOptions, sourceFile, htmlFile); + return htmlFile; + } catch (RuntimeException re) { + htmlFile.delete(); + throw re; + } catch (Error e) { + htmlFile.delete(); + throw e; + } + } + }