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

Unified Diff: editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/constant/ConstantVisitorTest.java

Issue 113143004: Constant evaluation support (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Clean-up Created 7 years 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: editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/constant/ConstantVisitorTest.java
diff --git a/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/constant/ConstantVisitorTest.java b/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/constant/ConstantVisitorTest.java
index 7242fa44fad72948b9321e649bde8df9b4223a75..4fb64eab0c0e24e289856fea3d3a8f69f108854c 100644
--- a/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/constant/ConstantVisitorTest.java
+++ b/editor/tools/plugins/com.google.dart.engine_test/src/com/google/dart/engine/internal/constant/ConstantVisitorTest.java
@@ -16,13 +16,14 @@ package com.google.dart.engine.internal.constant;
import com.google.dart.engine.EngineTestCase;
import com.google.dart.engine.ast.ConditionalExpression;
import com.google.dart.engine.ast.Expression;
+import com.google.dart.engine.internal.object.DartObjectImpl;
+import com.google.dart.engine.internal.resolver.TestTypeProvider;
import static com.google.dart.engine.ast.ASTFactory.booleanLiteral;
import static com.google.dart.engine.ast.ASTFactory.conditionalExpression;
import static com.google.dart.engine.ast.ASTFactory.identifier;
import static com.google.dart.engine.ast.ASTFactory.integer;
-
-import java.math.BigInteger;
+import static com.google.dart.engine.ast.ASTFactory.nullLiteral;
public class ConstantVisitorTest extends EngineTestCase {
public void test_visitConditionalExpression_false() {
@@ -32,21 +33,17 @@ public class ConstantVisitorTest extends EngineTestCase {
booleanLiteral(false),
thenExpression,
elseExpression);
- EvaluationResultImpl result = expression.accept(new ConstantVisitor());
- assertInstanceOf(ValidResult.class, result);
- Object value = ((ValidResult) result).getValue();
- assertInstanceOf(BigInteger.class, value);
- assertEquals(0L, ((BigInteger) value).longValue());
+ assertValue(0L, expression.accept(new ConstantVisitor(new TestTypeProvider())));
}
public void test_visitConditionalExpression_nonBooleanCondition() {
Expression thenExpression = integer(1L);
Expression elseExpression = integer(0L);
ConditionalExpression expression = conditionalExpression(
- integer(0L),
+ nullLiteral(),
thenExpression,
elseExpression);
- EvaluationResultImpl result = expression.accept(new ConstantVisitor());
+ EvaluationResultImpl result = expression.accept(new ConstantVisitor(new TestTypeProvider()));
assertInstanceOf(ErrorResult.class, result);
}
@@ -57,7 +54,7 @@ public class ConstantVisitorTest extends EngineTestCase {
booleanLiteral(true),
thenExpression,
elseExpression);
- EvaluationResultImpl result = expression.accept(new ConstantVisitor());
+ EvaluationResultImpl result = expression.accept(new ConstantVisitor(new TestTypeProvider()));
assertInstanceOf(ErrorResult.class, result);
}
@@ -68,7 +65,7 @@ public class ConstantVisitorTest extends EngineTestCase {
booleanLiteral(true),
thenExpression,
elseExpression);
- EvaluationResultImpl result = expression.accept(new ConstantVisitor());
+ EvaluationResultImpl result = expression.accept(new ConstantVisitor(new TestTypeProvider()));
assertInstanceOf(ErrorResult.class, result);
}
@@ -79,10 +76,13 @@ public class ConstantVisitorTest extends EngineTestCase {
booleanLiteral(true),
thenExpression,
elseExpression);
- EvaluationResultImpl result = expression.accept(new ConstantVisitor());
+ assertValue(1L, expression.accept(new ConstantVisitor(new TestTypeProvider())));
+ }
+
+ private void assertValue(long expectedValue, EvaluationResultImpl result) {
assertInstanceOf(ValidResult.class, result);
- Object value = ((ValidResult) result).getValue();
- assertInstanceOf(BigInteger.class, value);
- assertEquals(1L, ((BigInteger) value).longValue());
+ DartObjectImpl value = ((ValidResult) result).getValue();
+ assertEquals("int", value.getType().getName());
+ assertEquals(expectedValue, value.getIntValue().longValue());
}
}

Powered by Google App Engine
This is Rietveld 408576698