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

Unified Diff: compiler/javatests/com/google/dart/compiler/parser/SyntaxTest.java

Issue 10536164: Issue 3550. Initial understanding "const". (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 6 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/parser/SyntaxTest.java
diff --git a/compiler/javatests/com/google/dart/compiler/parser/SyntaxTest.java b/compiler/javatests/com/google/dart/compiler/parser/SyntaxTest.java
index 8ee0b348a3df36b45e9f04e77acb43cee0d5803d..a11795028613f417cd7ce771ee4c8362bae799dc 100644
--- a/compiler/javatests/com/google/dart/compiler/parser/SyntaxTest.java
+++ b/compiler/javatests/com/google/dart/compiler/parser/SyntaxTest.java
@@ -35,7 +35,7 @@ import java.util.List;
public class SyntaxTest extends AbstractParserTest {
public void test_getter() {
- DartUnit unit = parseUnit("getter.dart", Joiner.on("\n").join(
+ parseUnit("getter.dart", Joiner.on("\n").join(
"class G {",
" // Old getter syntax",
" int get g1() => 1;",
@@ -45,7 +45,7 @@ public class SyntaxTest extends AbstractParserTest {
}
public void test_setter() {
- DartUnit unit = parseUnit("setter.dart", Joiner.on("\n").join(
+ parseUnit("setter.dart", Joiner.on("\n").join(
"class G {",
" // Old setter syntax",
" void set g1(int v) {}",
@@ -53,6 +53,57 @@ public class SyntaxTest extends AbstractParserTest {
" void set g2=(int v) {}",
"}"));
}
+
+ public void test_const() {
+ DartUnit unit = parseUnit(getName() + ".dart", makeCode(
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "const T1 = 1;",
+ "final T2 = 1;",
+ "class A {",
+ " const F1 = 2;",
+ " static final F2 = 2;",
+ "}"));
+ // T1
+ {
+ DartFieldDefinition fieldDefinition = (DartFieldDefinition) unit.getTopLevelNodes().get(0);
+ DartField field = fieldDefinition.getFields().get(0);
+ assertEquals("T1", field.getName().getName());
+ assertEquals(true, field.getModifiers().isConstant());
+ assertEquals(false, field.getModifiers().isStatic());
+ assertEquals(true, field.getModifiers().isFinal());
+ }
+ // T2
+ {
+ DartFieldDefinition fieldDefinition = (DartFieldDefinition) unit.getTopLevelNodes().get(1);
+ DartField field = fieldDefinition.getFields().get(0);
+ assertEquals("T2", field.getName().getName());
+ assertEquals(false, field.getModifiers().isConstant());
+ assertEquals(false, field.getModifiers().isStatic());
+ assertEquals(true, field.getModifiers().isFinal());
+ }
+ // A
+ {
+ DartClass classA = (DartClass) unit.getTopLevelNodes().get(2);
+ // F1
+ {
+ DartFieldDefinition fieldDefinition = (DartFieldDefinition) classA.getMembers().get(0);
+ DartField field = fieldDefinition.getFields().get(0);
+ assertEquals("F1", field.getName().getName());
+ assertEquals(true, field.getModifiers().isConstant());
+ assertEquals(false, field.getModifiers().isStatic());
+ assertEquals(true, field.getModifiers().isFinal());
+ }
+ // F2
+ {
+ DartFieldDefinition fieldDefinition = (DartFieldDefinition) classA.getMembers().get(1);
+ DartField field = fieldDefinition.getFields().get(0);
+ assertEquals("F2", field.getName().getName());
+ assertEquals(false, field.getModifiers().isConstant());
+ assertEquals(true, field.getModifiers().isStatic());
+ assertEquals(true, field.getModifiers().isFinal());
+ }
+ }
+ }
/**
* There was bug when "identA.identB" always considered as constructor declaration. But it can be
@@ -260,7 +311,7 @@ public class SyntaxTest extends AbstractParserTest {
}
public void testMultipleLabels() {
- DartUnit unit = parseUnit ("multiple_labels.dart",
+ parseUnit ("multiple_labels.dart",
Joiner.on("\n").join(
"class A {",
" void foo() {",

Powered by Google App Engine
This is Rietveld 408576698