X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=tests%2Forg.simantics.scl.compiler.tests%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Ftests%2Fmarkdown%2FMarkdownTests.java;fp=bundles%2Forg.simantics.scl.compiler%2Ftests%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Ftests%2Fmarkdown%2FRunMarkdownTests.java;h=5c4e120bf5931be43c865d42465826040973cd5b;hp=9971a020b879cd7d2e848967ca5e7bc6ee3bdac8;hb=a8758de5bc19e5adb3f618d3038743a164f09912;hpb=12d9af17384d960b75d58c3935d2b7b46d93e87b diff --git a/bundles/org.simantics.scl.compiler/tests/org/simantics/scl/compiler/tests/markdown/RunMarkdownTests.java b/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/markdown/MarkdownTests.java similarity index 92% rename from bundles/org.simantics.scl.compiler/tests/org/simantics/scl/compiler/tests/markdown/RunMarkdownTests.java rename to tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/markdown/MarkdownTests.java index 9971a020b..5c4e120bf 100644 --- a/bundles/org.simantics.scl.compiler/tests/org/simantics/scl/compiler/tests/markdown/RunMarkdownTests.java +++ b/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/markdown/MarkdownTests.java @@ -1,100 +1,102 @@ -package org.simantics.scl.compiler.tests.markdown; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.StringReader; -import java.nio.charset.Charset; - -import org.simantics.scl.compiler.markdown.internal.MarkdownParser; -import org.simantics.scl.compiler.markdown.nodes.Node; - -public class RunMarkdownTests { - - public static int FAILED = 0; - public static int SUCCEEDED = 1; - public static int SKIPPED = 2; - - public static void main(String[] args) throws IOException { - BufferedReader reader = new BufferedReader( - new InputStreamReader( - RunMarkdownTests.class.getResourceAsStream("spec.txt"), - Charset.forName("UTF-8"))); - - StringBuilder in = new StringBuilder(); - StringBuilder out = new StringBuilder(); - int state = 0; - int testId = 0; - int passed = 0; - int failed = 0; - int skipped = 0; - while(true) { - String line = reader.readLine(); - if(line == null) - break; - switch(state) { - case 0: - if(line.equals("```````````````````````````````` example")) - ++state; - break; - case 1: - if(line.equals(".")) - ++state; - else { - if(in.length() > 0) - in.append('\n'); - in.append(line); - } - break; - case 2: - if(line.equals("````````````````````````````````")) { - ++testId; - int status = test(testId, in.toString(), out.toString()); - if(status == SUCCEEDED) - ++passed; - else if(status == FAILED) - ++failed; - else - ++skipped; - in = new StringBuilder(); - out = new StringBuilder(); - state = 0; - } - else { - if(out.length() > 0) - out.append('\n'); - out.append(line); - } - break; - } - } - - System.out.println("Passed: " + passed + "/" + testId); - System.out.println("Failed: " + failed + "/" + testId); - System.out.println("Skipped: " + skipped + "/" + testId); - } - - public static int test(int id, String in, String out) throws IOException { - MarkdownParser parser = new MarkdownParser(); - Node node = parser.parseDocument(new StringReader(in.replace('\u2192', '\t'))); - - String result = node.toHtml().replace('\t', '\u2192'); - - boolean passed = result.equals(out); - - if(!passed) { - System.out.println("Example " + id); // + (passed ? " passed" : " failed")); - System.out.println("---- in --------------------------------------------------------------------"); - System.out.println(in); - System.out.println("---- expected --------------------------------------------------------------"); - System.out.println(out); - System.out.println("---- actual ----------------------------------------------------------------"); - System.out.println(result); - System.out.println("----------------------------------------------------------------------------"); - System.out.println(); - } - - return passed ? SUCCEEDED : FAILED; - } - -} +package org.simantics.scl.compiler.tests.markdown; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.StringReader; +import java.nio.charset.Charset; + +import org.junit.Test; +import org.simantics.scl.compiler.markdown.internal.MarkdownParser; +import org.simantics.scl.compiler.markdown.nodes.Node; + +public class MarkdownTests { + + public static int FAILED = 0; + public static int SUCCEEDED = 1; + public static int SKIPPED = 2; + + @Test + public void markdownTests() throws IOException { + BufferedReader reader = new BufferedReader( + new InputStreamReader( + MarkdownTests.class.getResourceAsStream("spec.txt"), + Charset.forName("UTF-8"))); + + StringBuilder in = new StringBuilder(); + StringBuilder out = new StringBuilder(); + int state = 0; + int testId = 0; + int passed = 0; + int failed = 0; + int skipped = 0; + while(true) { + String line = reader.readLine(); + if(line == null) + break; + switch(state) { + case 0: + if(line.equals("```````````````````````````````` example")) + ++state; + break; + case 1: + if(line.equals(".")) + ++state; + else { + if(in.length() > 0) + in.append('\n'); + in.append(line); + } + break; + case 2: + if(line.equals("````````````````````````````````")) { + ++testId; + int status = test(testId, in.toString(), out.toString()); + if(status == SUCCEEDED) + ++passed; + else if(status == FAILED) + ++failed; + else + ++skipped; + in = new StringBuilder(); + out = new StringBuilder(); + state = 0; + } + else { + if(out.length() > 0) + out.append('\n'); + out.append(line); + } + break; + } + } + + System.out.println("Passed: " + passed + "/" + testId); + System.out.println("Failed: " + failed + "/" + testId); + System.out.println("Skipped: " + skipped + "/" + testId); + } + + public static int test(int id, String in, String out) throws IOException { + MarkdownParser parser = new MarkdownParser(); + Node node = parser.parseDocument(new StringReader(in.replace('\u2192', '\t'))); + + String result = node.toHtml().replace('\t', '\u2192'); + + boolean passed = result.equals(out); + + if(!passed) { + System.out.println("Example " + id); // + (passed ? " passed" : " failed")); + System.out.println("---- in --------------------------------------------------------------------"); + System.out.println(in); + System.out.println("---- expected --------------------------------------------------------------"); + System.out.println(out); + System.out.println("---- actual ----------------------------------------------------------------"); + System.out.println(result); + System.out.println("----------------------------------------------------------------------------"); + System.out.println(); + } + + return passed ? SUCCEEDED : FAILED; + } + +}