package org.intellij.plugins.markdown.ui.preview; import com.intellij.openapi.util.io.FileUtil; import com.intellij.testFramework.UsefulTestCase; import org.intellij.plugins.markdown.MarkdownTestingUtil; import org.owasp.html.PolicyFactory; import java.io.File; import java.io.IOException; public class MarkdownSanitizingTest extends UsefulTestCase { private void doTest() { final String testDir = MarkdownTestingUtil.TEST_DATA_PATH + "/sanitizing/"; final String input; final String expected; try { input = FileUtil.loadFile(new File(testDir + getTestName(true) + ".html")); final File expectedFile = new File(testDir + getTestName(true) + ".after.html"); if (expectedFile.exists()) { expected = FileUtil.loadFile(expectedFile); } else { expected = input; } } catch (IOException e) { throw new RuntimeException("Could not load file", e); } PolicyFactory sanitizer = MarkdownPreviewFileEditor.SANITIZER_VALUE.getValue(); assertEquals(expected, sanitizer.sanitize(input)); } public void testEmpty() { doTest(); } public void testSample() { doTest(); } public void testPuppetApache() { doTest(); } public void testTables() { doTest(); } public void testBaseUriRelativeRoot() { doTest(); } public void testBaseUriFile() { doTest(); } public void testImages() { doTest(); } }