Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Unified Diff: compiler/javatests/com/google/dart/compiler/IdeTest.java

Issue 11273064: Issue 5887. Parts must start with 'part of'. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: compiler/javatests/com/google/dart/compiler/IdeTest.java
diff --git a/compiler/javatests/com/google/dart/compiler/IdeTest.java b/compiler/javatests/com/google/dart/compiler/IdeTest.java
deleted file mode 100644
index 198a14554df52b6d26f4928f7bc23b8ec7a44f7f..0000000000000000000000000000000000000000
--- a/compiler/javatests/com/google/dart/compiler/IdeTest.java
+++ /dev/null
@@ -1,270 +0,0 @@
-// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-package com.google.dart.compiler;
-
-import com.google.dart.compiler.ast.DartClass;
-import com.google.dart.compiler.ast.DartExprStmt;
-import com.google.dart.compiler.ast.DartExpression;
-import com.google.dart.compiler.ast.DartIdentifier;
-import com.google.dart.compiler.ast.DartMethodDefinition;
-import com.google.dart.compiler.ast.DartNode;
-import com.google.dart.compiler.ast.DartPropertyAccess;
-import com.google.dart.compiler.ast.DartReturnStatement;
-import com.google.dart.compiler.ast.DartStatement;
-import com.google.dart.compiler.ast.DartUnit;
-import com.google.dart.compiler.ast.DartUnqualifiedInvocation;
-import com.google.dart.compiler.ast.LibraryUnit;
-import com.google.dart.compiler.resolver.ClassElement;
-import com.google.dart.compiler.resolver.CoreTypeProvider;
-import com.google.dart.compiler.resolver.CoreTypeProviderImplementation;
-import com.google.dart.compiler.resolver.Element;
-import com.google.dart.compiler.resolver.FieldElement;
-import com.google.dart.compiler.resolver.MethodElement;
-import com.google.dart.compiler.resolver.Scope;
-import com.google.dart.compiler.testing.TestCompilerConfiguration;
-import com.google.dart.compiler.testing.TestCompilerContext;
-import com.google.dart.compiler.testing.TestCompilerContext.EventKind;
-import com.google.dart.compiler.testing.TestDartArtifactProvider;
-import com.google.dart.compiler.testing.TestLibrarySource;
-import com.google.dart.compiler.type.FunctionType;
-import com.google.dart.compiler.type.InterfaceType;
-import com.google.dart.compiler.type.Type;
-import com.google.dart.compiler.type.TypeAnalyzer;
-
-import junit.framework.TestCase;
-
-import java.io.IOException;
-
-/**
- * Test of the IDE API in DartCompiler.
- */
-public class IdeTest extends TestCase {
-
- private final TestCompilerContext context = new TestCompilerContext(EventKind.ERROR,
- EventKind.TYPE_ERROR) {
- @Override
- protected void handleEvent(DartCompilationError event, EventKind kind) {
- super.handleEvent(event, kind);
- // For debugging:
- // System.err.println(event);
- }
- };
-
- private final DartCompilerListener listener = context;
-
- private final DartArtifactProvider provider = new TestDartArtifactProvider();
-
- private final CompilerConfiguration config = new TestCompilerConfiguration();
-
- public void testAnalyseNoSemicolonPropertyAccess() {
- DartUnit unit =
- analyzeUnit(
- "no_semicolon_property_access",
- "class Foo {",
- " int i;",
- " void foo() {",
- " i.y", // Missing semicolon.
- " }",
- "}");
- assertEquals("errorCount", 1, context.getErrorCount()); // Missing semicolon.
- assertEquals("typeErrorCount", 1, context.getTypeErrorCount()); // No member named "y".
- DartExprStmt statement = (DartExprStmt) firstStatementOfMethod(unit, "Foo", "foo");
- FieldElement element = (FieldElement) qualifierElement(statement.getExpression());
- assertEquals("int", element.getType().getElement().getName());
- }
-
- public void testAnalyseNoSemicolonBrokenPropertyAccess() {
- DartUnit unit =
- analyzeUnit(
- "no_semicolon_broken_property_access",
- "class Foo {",
- " int i;",
- " void foo() {",
- " i.", // Syntax error and missing semicolon.
- " }",
- "}");
- // Expected identifier and missing semicolon
- assertEquals("errorCount", 2, context.getErrorCount());
- assertEquals("typeErrorCount", 1, context.getTypeErrorCount()); // No member named "".
- DartExprStmt statement = (DartExprStmt) firstStatementOfMethod(unit, "Foo", "foo");
- FieldElement element = (FieldElement) qualifierElement(statement.getExpression());
- assertEquals("int", element.getType().getElement().getName());
- }
-
- public void testAnalyseBrokenPropertyAccess() {
- DartUnit unit =
- analyzeUnit(
- "broken_property_access",
- "class Foo {",
- " int i;",
- " void foo() {",
- " i.;", // Syntax error here.
- " }",
- "}");
- assertEquals("errorCount", 1, context.getErrorCount()); // Expected identifier.
- assertEquals("typeErrorCount", 1, context.getTypeErrorCount()); // No member named "".
- DartExprStmt statement = (DartExprStmt) firstStatementOfMethod(unit, "Foo", "foo");
- FieldElement element = (FieldElement) qualifierElement(statement.getExpression());
- assertEquals("int", element.getType().getElement().getName());
- }
-
- public void testAnalyseNoSemicolonIdentifier() {
- DartUnit unit =
- analyzeUnit(
- "no_semicolon_identifier",
- "class Foo {",
- " int i;",
- " void foo() {",
- " i", // Missing semicolon.
- " }",
- "}");
- assertEquals("errorCount", 1, context.getErrorCount()); // Missing semicolon.
- assertEquals("typeErrorCount", 0, context.getTypeErrorCount());
- DartExprStmt statement = (DartExprStmt) firstStatementOfMethod(unit, "Foo", "foo");
- FieldElement field = (FieldElement) targetElement(statement.getExpression());
- assertEquals("int", field.getType().getElement().getName());
- }
-
- public void testAnalyseNoSemicolonMethodCall() {
- DartUnit unit =
- analyzeUnit(
- "no_semicolon_method_call",
- "class Foo {",
- " int i () { return 0; }",
- " void foo() {",
- " i()", // Missing semicolon.
- " }",
- "}");
- assertEquals("errorCount", 1, context.getErrorCount()); // Missing semicolon.
- assertEquals("typeErrorCount", 0, context.getTypeErrorCount());
- DartExprStmt statement = (DartExprStmt) firstStatementOfMethod(unit, "Foo", "foo");
- DartExpression expression = statement.getExpression();
- DartUnqualifiedInvocation invocation = (DartUnqualifiedInvocation) expression;
- MethodElement method = (MethodElement) targetElement(invocation.getTarget());
- assertEquals("i", method.getName());
- FunctionType type = (FunctionType) method.getType();
- assertEquals("int", type.getReturnType().getElement().getName());
- }
-
- public void testAnalyseVoidKeyword() {
- DartUnit unit =
- analyzeUnit(
- "void_keyword",
- "class Foo {",
- " Function voidFunction;",
- " void foo() {",
- " void", // Missing semicolon and keyword
- " }",
- "}");
- // Expected identifier and missing semicolon.
- assertEquals("errorCount", 2, context.getErrorCount());
- // You can't use 'void' as a member name. It might be the beginning of a variable declaration
- // so it isn't an error in and of itself.
- assertEquals("typeErrorCount", 0, context.getTypeErrorCount());
- DartExprStmt statement = (DartExprStmt) firstStatementOfMethod(unit, "Foo", "foo");
- DartIdentifier expression = (DartIdentifier) statement.getExpression();
- assertEquals("", expression.getName());
- }
-
- public void testAnalyseVoidKeywordPropertyAccess() {
- DartUnit unit =
- analyzeUnit(
- "void_keyword_property_access",
- "class Foo {",
- " Function voidFunction;",
- " void foo() {",
- " this.void", // Missing semicolon and keyword
- " }",
- "}");
- // Expected identifier and missing semicolon.
- assertEquals("errorCount", 2, context.getErrorCount());
- assertEquals("typeErrorCount", 1, context.getTypeErrorCount());
- DartExprStmt statement = (DartExprStmt) firstStatementOfMethod(unit, "Foo", "foo");
- DartPropertyAccess expression = (DartPropertyAccess) statement.getExpression();
- assertEquals("", expression.getPropertyName());
- }
-
- public void testReturnIntTypeAnalysis() {
- DartUnit unit =
- analyzeUnit(
- "return_int_type_analysis",
- "class Foo {",
- " int i;",
- " int foo() {",
- " return i;",
- " }",
- "}");
- Scope unitScope = unit.getLibrary().getElement().getScope();
- CoreTypeProvider typeProvider = new CoreTypeProviderImplementation(unitScope, context);
- DartClass classNode = getClassOfUnit(unit, "Foo");
- DartReturnStatement rtnStmt = (DartReturnStatement) firstStatementOfMethod(unit, "Foo", "foo");
- ClassElement classElement = classNode.getElement();
- InterfaceType definingType = classElement.getType();
- Type type = TypeAnalyzer.analyze(rtnStmt.getValue(), typeProvider, context, definingType);
- assertNotNull(type);
- assertEquals("int", type.getElement().getName());
- }
-
- private Element targetElement(DartExpression expression) {
- DartIdentifier identifier = (DartIdentifier) expression;
- Element element = identifier.getElement();
- assertNotNull(element);
- return element;
- }
-
- private Element qualifierElement(DartExpression node) {
- DartPropertyAccess propertyAccess = (DartPropertyAccess) node;
- DartIdentifier identifier = (DartIdentifier) propertyAccess.getQualifier();
- Element element = identifier.getElement();
- assertNotNull(element);
- return element;
- }
-
- private DartClass getClassOfUnit(DartUnit unit, String cls) {
- DartClass dartClass = null;
- for (DartNode node : unit.getTopLevelNodes()) {
- DartClass classNode = (DartClass) node;
- if (node instanceof DartClass) {
- if (classNode.getName().getName().equals(cls)) {
- dartClass = classNode;
- }
- }
- }
- assertNotNull(dartClass);
- return dartClass;
- }
-
- private DartStatement firstStatementOfMethod(DartUnit unit, String cls, String member) {
- DartClass classNode = getClassOfUnit(unit, cls);
- for (DartNode memberNode : classNode.getMembers()) {
- if (memberNode instanceof DartMethodDefinition) {
- DartMethodDefinition methodNode = (DartMethodDefinition) memberNode;
- if (methodNode.getName() instanceof DartIdentifier) {
- DartIdentifier methodName = (DartIdentifier) methodNode.getName();
- if (methodName.getName().equals(member)) {
- return methodNode.getFunction().getBody().getStatements().get(0);
- }
- }
- }
- }
- fail();
- return null;
- }
-
- private DartUnit analyzeUnit(String name, String... sourceLines) throws AssertionError {
- TestLibrarySource lib = new TestLibrarySource(name);
- lib.addSource(name + ".dart", sourceLines);
- LibraryUnit libraryUnit;
- try {
- libraryUnit = DartCompiler.analyzeLibrary(lib, null, config, provider, listener);
- assertNotNull("libraryUnit == null", libraryUnit);
- } catch (IOException e) {
- throw new AssertionError(e);
- }
- DartUnit unit = libraryUnit.getUnit(name + ".dart");
- assertNotNull("unit == null", unit);
- return unit;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698