ISourceParser interface change
diff --git a/tests/org.eclipse.dltk.python.tests/src/org/eclipse/dltk/python/tests/model/ComplexConstructsTests.java b/tests/org.eclipse.dltk.python.tests/src/org/eclipse/dltk/python/tests/model/ComplexConstructsTests.java index b3714f7..6298f26 100644 --- a/tests/org.eclipse.dltk.python.tests/src/org/eclipse/dltk/python/tests/model/ComplexConstructsTests.java +++ b/tests/org.eclipse.dltk.python.tests/src/org/eclipse/dltk/python/tests/model/ComplexConstructsTests.java
@@ -10,10 +10,10 @@ import org.eclipse.core.resources.IFolder; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Path; import org.eclipse.dltk.ast.declarations.ModuleDeclaration; import org.eclipse.dltk.ast.expressions.Expression; import org.eclipse.dltk.ast.statements.Block; +import org.eclipse.dltk.compiler.env.ModuleSource; import org.eclipse.dltk.core.IModelElement; import org.eclipse.dltk.core.IScriptProject; import org.eclipse.dltk.core.ISourceModule; @@ -23,26 +23,22 @@ import org.eclipse.dltk.python.parser.ast.PythonWithStatement; import org.eclipse.dltk.python.tests.PythonTestsPlugin; -public class ComplexConstructsTests extends AbstractModelTests -{ +public class ComplexConstructsTests extends AbstractModelTests { private static final String PROJECT_NAME = "pytests"; private static final String FOLDER = "src"; private static final String ASSIGNMENT_TESTS_FILE_NAME = "assignment_tests.py"; private static final String SCRIPT_SOURCE = "a,b=1,2;c=d=1;x=y=lambda z:z;"; - - public ComplexConstructsTests(String name) - { - super(PythonTestsPlugin.PLUGIN_NAME, name); + + public ComplexConstructsTests(String name) { + super(PythonTestsPlugin.PLUGIN_NAME, name); } - public static Test suite() - { - return new Suite( ComplexConstructsTests.class); + public static Test suite() { + return new Suite(ComplexConstructsTests.class); } - public void setUpSuite() throws Exception - { + public void setUpSuite() throws Exception { super.setUpSuite(); IScriptProject sp = this.setUpScriptProject(PROJECT_NAME); IProject prj = sp.getProject(); @@ -52,16 +48,17 @@ InputStream source = new ByteArrayInputStream(SCRIPT_SOURCE.getBytes()); testFile.create(source, true, new NullProgressMonitor()); } - public void tearDownSuite() throws Exception - { + + public void tearDownSuite() throws Exception { super.tearDownSuite(); deleteProject(PROJECT_NAME); } - //this is a model test - public void testAssignment() throws Exception - { - IScriptProject project = getScriptProject( PROJECT_NAME ); - ISourceModule module = this.getSourceModule( PROJECT_NAME, FOLDER, ASSIGNMENT_TESTS_FILE_NAME); + + // this is a model test + public void testAssignment() throws Exception { + IScriptProject project = getScriptProject(PROJECT_NAME); + ISourceModule module = this.getSourceModule(PROJECT_NAME, FOLDER, + ASSIGNMENT_TESTS_FILE_NAME); IModelElement[] children = module.getChildren(); ModelTestUtils.getAssertField(children, "a"); ModelTestUtils.getAssertField(children, "b"); @@ -70,19 +67,22 @@ ModelTestUtils.getAssertMethod(children, "x", 1); ModelTestUtils.getAssertMethod(children, "y", 1); } - //this is a parser test - public void testWithStatement() - { + + // this is a parser test + public void testWithStatement() { final String script = "with a as b : pass"; PythonSourceParser parser = new PythonSourceParser(); - ModuleDeclaration module = parser.parse(null, script.toCharArray(), null); - List children = ((Block)module.getChilds().get(0)).getChilds(); + ModuleDeclaration module = (ModuleDeclaration) parser.parse(new ModuleSource(script), null); + List children = ((Block) module.getChilds().get(0)).getChilds(); Object pws = children.get(0); - assertTrue("with...as... statement expected.",pws instanceof PythonWithStatement); - children = ((PythonWithStatement)pws).getChilds(); + assertTrue("with...as... statement expected.", + pws instanceof PythonWithStatement); + children = ((PythonWithStatement) pws).getChilds(); assertTrue("Three children expected", 3 == children.size()); - assertTrue("Expression expected.", children.get(0) instanceof Expression); - assertTrue("Expression expected.", children.get(1) instanceof Expression); + assertTrue("Expression expected.", + children.get(0) instanceof Expression); + assertTrue("Expression expected.", + children.get(1) instanceof Expression); assertTrue("Block expected.", children.get(2) instanceof Block); } }
diff --git a/tests/org.eclipse.dltk.python.tests/src/org/eclipse/dltk/python/tests/model/TokenPostitionsParserTests.java b/tests/org.eclipse.dltk.python.tests/src/org/eclipse/dltk/python/tests/model/TokenPostitionsParserTests.java index a263d00..ba3076b 100644 --- a/tests/org.eclipse.dltk.python.tests/src/org/eclipse/dltk/python/tests/model/TokenPostitionsParserTests.java +++ b/tests/org.eclipse.dltk.python.tests/src/org/eclipse/dltk/python/tests/model/TokenPostitionsParserTests.java
@@ -11,6 +11,7 @@ import org.eclipse.dltk.ast.expressions.NumericLiteral; import org.eclipse.dltk.ast.references.VariableReference; import org.eclipse.dltk.ast.statements.Block; +import org.eclipse.dltk.compiler.env.ModuleSource; import org.eclipse.dltk.core.tests.model.SuiteOfTestCases; import org.eclipse.dltk.python.internal.core.parser.PythonSourceParser; import org.eclipse.dltk.python.parser.ast.PythonClassDeclaration; @@ -23,55 +24,56 @@ import org.eclipse.dltk.python.parser.ast.expressions.PythonTestListExpression; import org.eclipse.dltk.python.parser.ast.expressions.PythonTupleExpression; +@SuppressWarnings("restriction") public class TokenPostitionsParserTests extends SuiteOfTestCases { private static final String whileScript = "a=1; while a>0 : a=a-1;"; private static final String whileElseScript = "a=1; while a>0 : a=a-1; else : a = 1;"; private static final String testExprScript = "print \"Hello,\", \"World!\""; private static final String testDictExprScript = "{ { }:{} }"; - private static final String testTupleExprScript = "( 1, () )"; + private static final String testTupleExprScript = "( 1, () )"; private static final String testListExprScript = "[ [],[] ]"; - private static final String testBackQuotesScript = "` 0 `"; + private static final String testBackQuotesScript = "` 0 `"; private static final String testSuperClassDeclScript = "class A (object) : pass"; private static final String testForList = "[i for i in []]"; - + private static final String msg = "Invalid token displacement"; public static Test suite() { return new Suite(TokenPostitionsParserTests.class); } - + public TokenPostitionsParserTests() { super("Token positions parser test case"); } - private static void testWhileStatements(String script) throws Exception - { + + private static void testWhileStatements(String script) throws Exception { PythonSourceParser parser = new PythonSourceParser(); - ModuleDeclaration module = parser.parse(null, script.toCharArray(), null); - List children = ((ASTNode)module.getChilds().iterator().next()).getChilds(); + ModuleDeclaration module = (ModuleDeclaration) parser.parse( + new ModuleSource(script), null); + List children = ((ASTNode) module.getChilds().iterator().next()) + .getChilds(); Iterator iter = children.iterator(); - while (iter.hasNext()) - { - ASTNode node = (ASTNode)iter.next(); - if (node instanceof PythonWhileStatement) - { - PythonWhileStatement whileStmt = (PythonWhileStatement)node; - if (null != whileStmt.getElseStatement()) - { - assertTrue(msg,whileStmt.sourceStart() < whileStmt.sourceEnd()); - assertTrue(msg, whileStmt.sourceEnd() == whileStmt.getElseStatement().sourceEnd()); + while (iter.hasNext()) { + ASTNode node = (ASTNode) iter.next(); + if (node instanceof PythonWhileStatement) { + PythonWhileStatement whileStmt = (PythonWhileStatement) node; + if (null != whileStmt.getElseStatement()) { + assertTrue(msg, whileStmt.sourceStart() < whileStmt + .sourceEnd()); + assertTrue(msg, whileStmt.sourceEnd() == whileStmt + .getElseStatement().sourceEnd()); return; - } - else - { + } else { Iterator j = whileStmt.getChilds().iterator(); - while (j.hasNext()) - { - ASTNode child = (ASTNode)j.next(); + while (j.hasNext()) { + ASTNode child = (ASTNode) j.next(); if (child instanceof Block) { Block block = (Block) child; - assertTrue(msg,whileStmt.sourceStart() < whileStmt.sourceEnd()); - assertTrue(msg, whileStmt.sourceEnd() == block.sourceEnd()); + assertTrue(msg, whileStmt.sourceStart() < whileStmt + .sourceEnd()); + assertTrue(msg, whileStmt.sourceEnd() == block + .sourceEnd()); } } return; @@ -80,78 +82,98 @@ } throw new Exception("Ths test is invalid."); } - public void testWhileStatement() throws Exception - { + + public void testWhileStatement() throws Exception { testWhileStatements(whileScript); } - public void testWhileEsleStatement() throws Exception - { + + public void testWhileEsleStatement() throws Exception { testWhileStatements(whileElseScript); } - public void testTestListExpr() - { + + public void testTestListExpr() { PythonSourceParser parser = new PythonSourceParser(); - ModuleDeclaration module = parser.parse(null, testExprScript.toCharArray(), null); - List children = ((ASTNode)module.getChilds().iterator().next()).getChilds(); - PrintExpression printExpr = (PrintExpression)children.get(0); - PythonTestListExpression testListExpr = (PythonTestListExpression) printExpr.getChilds().get(0); - assertTrue(msg, testListExpr.sourceEnd() > testListExpr.sourceStart() && testListExpr.sourceStart() > printExpr.sourceStart()); + ModuleDeclaration module = (ModuleDeclaration) parser.parse( + new ModuleSource(testExprScript), null); + List children = ((ASTNode) module.getChilds().iterator().next()) + .getChilds(); + PrintExpression printExpr = (PrintExpression) children.get(0); + PythonTestListExpression testListExpr = (PythonTestListExpression) printExpr + .getChilds().get(0); + assertTrue(msg, testListExpr.sourceEnd() > testListExpr.sourceStart() + && testListExpr.sourceStart() > printExpr.sourceStart()); } - public void testDictExpression() - { + + public void testDictExpression() { PythonSourceParser parser = new PythonSourceParser(); - ModuleDeclaration module = parser.parse(null, testDictExprScript.toCharArray(), null); + ModuleDeclaration module = (ModuleDeclaration) parser.parse( + new ModuleSource(testDictExprScript), null); List children = module.getChilds(); - PythonDictExpression expr = (PythonDictExpression)((Block)children.get(0)).getChilds().get(0); + PythonDictExpression expr = (PythonDictExpression) ((Block) children + .get(0)).getChilds().get(0); assertTrue(msg, expr.sourceStart() == 0 && expr.sourceEnd() == 12); } - public void testTupleExpression() - { + + public void testTupleExpression() { PythonSourceParser parser = new PythonSourceParser(); - ModuleDeclaration module = parser.parse(null, testTupleExprScript.toCharArray(), null); + ModuleDeclaration module = (ModuleDeclaration) parser.parse( + new ModuleSource(testTupleExprScript), null); List children = module.getChilds(); - PythonTupleExpression expr = (PythonTupleExpression)((Block)children.get(0)).getChilds().get(0); + PythonTupleExpression expr = (PythonTupleExpression) ((Block) children + .get(0)).getChilds().get(0); assertTrue(msg, expr.sourceStart() == 0 && expr.sourceEnd() == 9); } - public void testListExpression() - { + + public void testListExpression() { PythonSourceParser parser = new PythonSourceParser(); - ModuleDeclaration module = parser.parse(null, testListExprScript.toCharArray(), null); + ModuleDeclaration module = (ModuleDeclaration) parser.parse( + new ModuleSource(testListExprScript), null); List children = module.getChilds(); - PythonListExpression expr = (PythonListExpression)((Block)children.get(0)).getChilds().get(0); + PythonListExpression expr = (PythonListExpression) ((Block) children + .get(0)).getChilds().get(0); assertTrue(msg, expr.sourceStart() == 0 && expr.sourceEnd() == 9); } - public void testBackQuotesExpression() - { + + public void testBackQuotesExpression() { PythonSourceParser parser = new PythonSourceParser(); - ModuleDeclaration module = parser.parse(null, testBackQuotesScript.toCharArray(), null); + ModuleDeclaration module = (ModuleDeclaration) parser.parse( + new ModuleSource(testBackQuotesScript), null); List children = module.getChilds(); - NumericLiteral expr = (NumericLiteral)((Block)children.get(0)).getChilds().get(0); + NumericLiteral expr = (NumericLiteral) ((Block) children.get(0)) + .getChilds().get(0); assertTrue(msg, expr.sourceStart() == 0 && expr.sourceEnd() == 5); } - public void testSuperClassDecl() - { + + public void testSuperClassDecl() { PythonSourceParser parser = new PythonSourceParser(); - ModuleDeclaration module = parser.parse(null, testSuperClassDeclScript.toCharArray(), null); + ModuleDeclaration module = (ModuleDeclaration) parser.parse( + new ModuleSource(testSuperClassDeclScript), null); List children = module.getChilds(); - ASTListNode supers = ((PythonClassDeclaration)((Block)children.get(0)).getChilds().get(0)).getSuperClasses(); - assertTrue(msg,9 == supers.sourceStart() && 15 == supers.sourceEnd()); + ASTListNode supers = ((PythonClassDeclaration) ((Block) children.get(0)) + .getChilds().get(0)).getSuperClasses(); + assertTrue(msg, 9 == supers.sourceStart() && 15 == supers.sourceEnd()); } + public void testForList() { PythonSourceParser parser = new PythonSourceParser(); - ModuleDeclaration module = parser.parse(null, testForList.toCharArray(), null); - Block block = (Block)module.getChilds().get(0); - PythonListExpression list = (PythonListExpression) block.getChilds().get(0); - PythonListForExpression listFor = (PythonListForExpression) list.getChilds().get(0); - assertTrue(listFor.sourceStart()==1 && listFor.sourceEnd() == 14); - assertTrue(listFor.getChilds().get(0) instanceof VariableReference && listFor.getChilds().get(1) instanceof PythonForListExpression); + ModuleDeclaration module = (ModuleDeclaration) parser.parse( + new ModuleSource(testForList), null); + Block block = (Block) module.getChilds().get(0); + PythonListExpression list = (PythonListExpression) block.getChilds() + .get(0); + PythonListForExpression listFor = (PythonListForExpression) list + .getChilds().get(0); + assertTrue(listFor.sourceStart() == 1 && listFor.sourceEnd() == 14); + assertTrue(listFor.getChilds().get(0) instanceof VariableReference + && listFor.getChilds().get(1) instanceof PythonForListExpression); VariableReference var = (VariableReference) listFor.getChilds().get(0); assertTrue(var.sourceStart() == 1 && var.sourceEnd() == 2); - PythonForListExpression forList = (PythonForListExpression) listFor.getChilds().get(1); + PythonForListExpression forList = (PythonForListExpression) listFor + .getChilds().get(1); assertTrue(forList.sourceStart() == 3 && forList.sourceEnd() == 14); } }