Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3NodeParserTest.java')
-rw-r--r--tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3NodeParserTest.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3NodeParserTest.java b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3NodeParserTest.java
new file mode 100644
index 00000000..8fe498de
--- /dev/null
+++ b/tests/org.eclipse.xpand3.parser.tests/src/org/eclipse/xpand3/parser/Xpand3NodeParserTest.java
@@ -0,0 +1,64 @@
+package org.eclipse.xpand3.parser;
+
+import static org.eclipse.xpand3.parser.SyntaxUtil.LG;
+import static org.eclipse.xpand3.parser.SyntaxUtil.RG;
+import junit.framework.TestCase;
+
+import org.antlr.runtime.ANTLRStringStream;
+import org.antlr.runtime.CommonTokenStream;
+import org.eclipse.tmf.common.node.Node;
+import org.eclipse.tmf.common.node.NodeUtil;
+
+public class Xpand3NodeParserTest extends TestCase {
+
+ private Node parse(String s) throws Exception {
+ Xpand3NodeParser parser = createParser(s);
+ Node rootNode = parser.file();
+ return rootNode;
+ }
+
+ public void testname() throws Exception {
+ Node x = parse(LG + "IMPORT foo" + RG
+ + "import foo; myFunction(String this) : doStuff('holla');"
+ + LG + "DEFINE foo FOR Entity" + RG + "bla" + LG + "ENDDEFINE"
+ + RG);
+ System.out.println(NodeUtil.toString(x));
+ }
+
+ public void testFoo() throws Exception {
+ Node node = parse("import foo; myFunction(String this) : doStuff('holla');");
+ System.out.println(NodeUtil.toString(node));
+ System.out.println(NodeUtil.serialize(node));
+ }
+
+ public void testXpandXtendCheckMixedUp1() throws Exception {
+ Node node = parse(LG + "IMPORT foo" + RG
+ + "import foo; myFunction(String this) : doStuff('holla');"
+ + LG + "DEFINE foo FOR Entity" + RG + "bla" + LG + "ENDDEFINE"
+ + RG);
+ System.out.println(NodeUtil.toString(node));
+ System.out.println(NodeUtil.serialize(node));
+ }
+
+ //
+ public void testPerf() throws Exception {
+ String s = "foo.bar.honolulu('lola',{true,false,45}).collect(e|2.minor + 34 / (x - 2))";
+ for (int i = 0; i < 10; i++) {
+ s = s + " -> " + s;
+ }
+ Xpand3NodeParser parser = createParser(s);
+ long n = System.currentTimeMillis();
+ parser.expression();
+ long after = System.currentTimeMillis();
+ System.out.println("Time : " + (after - n) / 1000.
+ + " Expressionlength was : " + s.length());
+ }
+
+ private Xpand3NodeParser createParser(String s) {
+ ANTLRStringStream stream = new ANTLRStringStream(s);
+ Xpand3NodeLexer lexer = new Xpand3NodeLexer(stream);
+ CommonTokenStream tokenStream = new CommonTokenStream(lexer);
+ Xpand3NodeParser parser = new Xpand3NodeParser(tokenStream);
+ return parser;
+ }
+}

Back to the top