1 package org.simantics.scl.compiler.tests.markdown;
\r
3 import java.io.BufferedReader;
\r
4 import java.io.IOException;
\r
5 import java.io.InputStreamReader;
\r
6 import java.io.StringReader;
\r
7 import java.nio.charset.Charset;
\r
9 import org.junit.Test;
\r
10 import org.simantics.scl.compiler.markdown.internal.MarkdownParser;
\r
11 import org.simantics.scl.compiler.markdown.nodes.Node;
\r
13 public class MarkdownTests {
\r
15 public static int FAILED = 0;
\r
16 public static int SUCCEEDED = 1;
\r
17 public static int SKIPPED = 2;
\r
20 public void markdownTests() throws IOException {
\r
21 BufferedReader reader = new BufferedReader(
\r
22 new InputStreamReader(
\r
23 MarkdownTests.class.getResourceAsStream("spec.txt"),
\r
24 Charset.forName("UTF-8")));
\r
26 StringBuilder in = new StringBuilder();
\r
27 StringBuilder out = new StringBuilder();
\r
34 String line = reader.readLine();
\r
39 if(line.equals("```````````````````````````````` example"))
\r
43 if(line.equals("."))
\r
52 if(line.equals("````````````````````````````````")) {
\r
54 int status = test(testId, in.toString(), out.toString());
\r
55 if(status == SUCCEEDED)
\r
57 else if(status == FAILED)
\r
61 in = new StringBuilder();
\r
62 out = new StringBuilder();
\r
66 if(out.length() > 0)
\r
74 System.out.println("Passed: " + passed + "/" + testId);
\r
75 System.out.println("Failed: " + failed + "/" + testId);
\r
76 System.out.println("Skipped: " + skipped + "/" + testId);
\r
79 public static int test(int id, String in, String out) throws IOException {
\r
80 MarkdownParser parser = new MarkdownParser();
\r
81 Node node = parser.parseDocument(new StringReader(in.replace('\u2192', '\t')));
\r
83 String result = node.toHtml().replace('\t', '\u2192');
\r
85 boolean passed = result.equals(out);
\r
88 System.out.println("Example " + id); // + (passed ? " passed" : " failed"));
\r
89 System.out.println("---- in --------------------------------------------------------------------");
\r
90 System.out.println(in);
\r
91 System.out.println("---- expected --------------------------------------------------------------");
\r
92 System.out.println(out);
\r
93 System.out.println("---- actual ----------------------------------------------------------------");
\r
94 System.out.println(result);
\r
95 System.out.println("----------------------------------------------------------------------------");
\r
96 System.out.println();
\r
99 return passed ? SUCCEEDED : FAILED;
\r