--- /dev/null
+package org.simantics.scl.compiler.tests.completions;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.nio.charset.Charset;
+
+import org.junit.Test;
+import org.simantics.scl.compiler.completions.parsing.ModuleSegment;
+import org.simantics.scl.compiler.completions.parsing.RobustModuleSplitter;
+
+public class TestRobustModuleSplitter {
+ private String readSource(String name) throws IOException {
+ InputStreamReader reader = new InputStreamReader(
+ TestRobustModuleSplitter.class.getResourceAsStream(name),
+ Charset.forName("UTF-8"));
+ StringBuilder b = new StringBuilder();
+ while(true) {
+ int c = reader.read();
+ if(c < 0)
+ break;
+ b.append((char)c);
+ }
+ return b.toString();
+ }
+
+ @Test
+ public void example1() throws IOException {
+ String sourceText = readSource("SplittingExample1.scl");
+ for(ModuleSegment segment : RobustModuleSplitter.split(sourceText)) {
+ System.out.println("---- ("+segment.parenthesesBalance+") ----------------------------------------------");
+ System.out.println(sourceText.substring(segment.begin, segment.end).trim());
+ }
+ }
+}