| /******************************************************************************* |
| * Copyright (c) 2004, 2015 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.jdt.core.tests.dom; |
| |
| import java.lang.reflect.Method; |
| import java.util.HashMap; |
| |
| import junit.framework.Test; |
| |
| import org.eclipse.jdt.core.IClassFile; |
| import org.eclipse.jdt.core.ICompilationUnit; |
| import org.eclipse.jdt.core.dom.AST; |
| import org.eclipse.jdt.core.dom.ASTParser; |
| |
| @SuppressWarnings("rawtypes") |
| public class ASTParserTest extends org.eclipse.jdt.core.tests.junit.extension.TestCase { |
| |
| /** @deprecated using deprecated code */ |
| public static Test suite() { |
| // TODO (frederic) use buildList + setAstLevel(init) instead... |
| junit.framework.TestSuite suite = new junit.framework.TestSuite(ASTParserTest.class.getName()); |
| |
| Class c = ASTParserTest.class; |
| Method[] methods = c.getMethods(); |
| for (int i = 0, max = methods.length; i < max; i++) { |
| if (methods[i].getName().startsWith("test")) { //$NON-NLS-1$ |
| suite.addTest(new ASTParserTest(methods[i].getName(), AST.JLS2)); |
| suite.addTest(new ASTParserTest(methods[i].getName(), AST.JLS3)); |
| } |
| } |
| return suite; |
| } |
| |
| AST ast; |
| ASTParser parser; |
| int API_LEVEL; |
| |
| public ASTParserTest(String name, int apiLevel) { |
| super(name); |
| this.API_LEVEL = apiLevel; |
| } |
| |
| protected void setUp() throws Exception { |
| super.setUp(); |
| this.ast = AST.newAST(this.API_LEVEL); |
| this.parser = ASTParser.newParser(this.API_LEVEL); |
| } |
| |
| protected void tearDown() throws Exception { |
| this.ast = null; |
| super.tearDown(); |
| } |
| |
| /** @deprecated using deprecated code */ |
| public String getName() { |
| String name = super.getName(); |
| switch (this.API_LEVEL) { |
| case AST.JLS2: |
| name = "JLS2 - " + name; |
| break; |
| case AST.JLS3: |
| name = "JLS3 - " + name; |
| break; |
| } |
| return name; |
| } |
| |
| public void testKConstants() { |
| assertSame(ASTParser.K_EXPRESSION, 1); |
| assertSame(ASTParser.K_STATEMENTS, 2); |
| assertSame(ASTParser.K_CLASS_BODY_DECLARATIONS, 4); |
| assertSame(ASTParser.K_COMPILATION_UNIT, 8); |
| } |
| |
| public void testSetting() { |
| // for now, just slam some values in |
| this.parser.setKind(ASTParser.K_COMPILATION_UNIT); |
| this.parser.setKind(ASTParser.K_CLASS_BODY_DECLARATIONS); |
| this.parser.setKind(ASTParser.K_EXPRESSION); |
| this.parser.setKind(ASTParser.K_STATEMENTS); |
| |
| this.parser.setSource(new char[0]); |
| this.parser.setSource((char[]) null); |
| this.parser.setSource((ICompilationUnit) null); |
| this.parser.setSource((IClassFile) null); |
| |
| this.parser.setResolveBindings(false); |
| this.parser.setResolveBindings(true); |
| |
| this.parser.setSourceRange(0, -1); |
| this.parser.setSourceRange(0, 1); |
| this.parser.setSourceRange(1, 0); |
| this.parser.setSourceRange(1, -1); |
| |
| this.parser.setWorkingCopyOwner(null); |
| |
| this.parser.setUnitName(null); |
| this.parser.setUnitName("Foo.java"); //$NON-NLS-1$ |
| |
| this.parser.setProject(null); |
| |
| this.parser.setFocalPosition(-1); |
| this.parser.setFocalPosition(0); |
| |
| this.parser.setCompilerOptions(null); |
| this.parser.setCompilerOptions(new HashMap<String, String>()); |
| } |
| } |