calculating AbstrctNode.length() in NodeContentAdapter now

This commit is contained in:
jkohnlein 2008-07-03 15:25:56 +00:00 committed by sefftinge
parent 8433083755
commit 68d2e7090d
4 changed files with 33 additions and 31 deletions

View file

@ -33,7 +33,7 @@ public class ParseErrorHandlingTest extends AbstractGeneratorTest {
assertEquals("%", ((LeafNode)errors.get(0).getNode()).getText());
assertEquals(1, errors.get(0).getNode().getLine());
assertEquals(15, errors.get(0).getNode().getOffset());
assertEquals(1, errors.get(0).getNode().length());
assertEquals(1, errors.get(0).getNode().getLength());
assertEquals(1, errors.size());
}
@ -43,7 +43,7 @@ public class ParseErrorHandlingTest extends AbstractGeneratorTest {
assertEquals("::", ((LeafNode)errors.get(0).getNode()).getText());
assertEquals(1, errors.get(0).getNode().getLine());
assertEquals(31, errors.get(0).getNode().getOffset());
assertEquals(2, errors.get(0).getNode().length());
assertEquals(2, errors.get(0).getNode().getLength());
assertEquals(1, errors.size());
}

View file

@ -10,6 +10,7 @@ package org.eclipse.xtext.parser;
import org.eclipse.xtext.parser.impl.PartialParsingUtil;
import org.eclipse.xtext.parsetree.CompositeNode;
import org.eclipse.xtext.testlanguages.ReferenceGrammarStandaloneSetup;
import org.eclipse.xtext.testlanguages.SimpleExpressionsStandaloneSetup;
/**
@ -18,7 +19,8 @@ import org.eclipse.xtext.testlanguages.SimpleExpressionsStandaloneSetup;
*/
public class PartialParsingPerformanceTest extends AbstractPartialParserTest {
private static final int NUM_ELEMENTS = 200;
private static final int NUM_ELEMENTS = 1;
public void testExpression() throws Exception {
with(SimpleExpressionsStandaloneSetup.class);
StringBuffer modelBuffer = new StringBuffer();
@ -35,29 +37,29 @@ public class PartialParsingPerformanceTest extends AbstractPartialParserTest {
assertTrue(reparse.getParseErrors() == null || reparse.getParseErrors().isEmpty());
}
// public void testReference() throws Exception {
// with(ReferenceGrammarStandaloneSetup.class);
// StringBuffer modelBuffer = new StringBuffer();
// modelBuffer.append("spielplatz 17 {\n");
// for(int i=0; i<NUM_ELEMENTS; ++i) {
// modelBuffer.append(" kind ( Herbert");
// modelBuffer.append(i);
// modelBuffer.append(" 11 )\n");
// }
// for(int i=0; i<NUM_ELEMENTS; ++i) {
// modelBuffer.append(" erwachsener ( Hugo");
// modelBuffer.append(i);
// modelBuffer.append(" 111 )\n");
// }
// modelBuffer.append(" erwachsener ( Sven 112 )\n");
// for(int i=0; i<NUM_ELEMENTS; ++i) {
// modelBuffer.append(" spielzeug ( Schaufel GRÜN )\n");
// }
// modelBuffer.append("}\n");
// String model = modelBuffer.toString();
// CompositeNode rootNode = getRootNode(model);
// IParseResult reparse = PartialParsingUtil.reparse(getParser(), rootNode, model.indexOf("Sven"), 4, "Peter");
// assertTrue(reparse.getParseErrors() == null || reparse.getParseErrors().isEmpty());
// }
public void testReference() throws Exception {
with(ReferenceGrammarStandaloneSetup.class);
StringBuffer modelBuffer = new StringBuffer();
modelBuffer.append("spielplatz 17 {\n");
for(int i=0; i<NUM_ELEMENTS; ++i) {
modelBuffer.append(" kind ( Herbert");
modelBuffer.append(i);
modelBuffer.append(" 11 )\n");
}
for(int i=0; i<NUM_ELEMENTS; ++i) {
modelBuffer.append(" erwachsener ( Hugo");
modelBuffer.append(i);
modelBuffer.append(" 111 )\n");
}
modelBuffer.append(" erwachsener ( Sven 112 )\n");
for(int i=0; i<NUM_ELEMENTS; ++i) {
modelBuffer.append(" spielzeug ( Schaufel GRÜN )\n");
}
modelBuffer.append("}\n");
String model = modelBuffer.toString();
CompositeNode rootNode = getRootNode(model);
IParseResult reparse = PartialParsingUtil.reparse(getParser(), rootNode, model.indexOf("Sven"), 4, "Peter");
assertTrue(reparse.getParseErrors() == null || reparse.getParseErrors().isEmpty());
}
}

View file

@ -81,7 +81,7 @@ public class LengthOffsetLineTest extends AbstractGeneratorTest {
int offset = 0;
for (LeafNode leafNode : nodes) {
assertEquals(offset,leafNode.getOffset());
offset += leafNode.length();
offset += leafNode.getLength();
}
}

View file

@ -30,9 +30,9 @@ public class LeafNodeBug_234132 extends AbstractGeneratorTest {
System.out.println("Model length=" + model.length());
for (LeafNode leafNode : leafNodes) {
String text = leafNode.getText();
System.out.println("Leaf node" + leafNode.toString() + " offset=" + leafNode.getOffset() + " length=" + leafNode.length() + " text=" + ((text != null)? text : ""));
assertTrue(leafNode.length() + leafNode.getOffset() <= model.length());
assertEquals(model.substring(leafNode.getOffset(), leafNode.getOffset() + leafNode.length()), leafNode.getText());
System.out.println("Leaf node" + leafNode.toString() + " offset=" + leafNode.getOffset() + " length=" + leafNode.getLength() + " text=" + ((text != null)? text : ""));
assertTrue(leafNode.getLength() + leafNode.getOffset() <= model.length());
assertEquals(model.substring(leafNode.getOffset(), leafNode.getOffset() + leafNode.getLength()), leafNode.getText());
}
}
}