aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/zwobble
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-01-04 18:58:19 +0000
committerMichael Williamson <mike@zwobble.org>2016-01-04 18:58:19 +0000
commitbb0b36b86f841ec6340fe6e727ed2ea9db1c2d64 (patch)
tree463348e681f5140169f852db1d32297e7611d700 /src/test/java/org/zwobble
parent909f9d629808da383e6c9e8e514711382cdc331e (diff)
Capture "this" references
Diffstat (limited to 'src/test/java/org/zwobble')
-rw-r--r--src/test/java/org/zwobble/couscous/tests/CompilerTests.java3
-rw-r--r--src/test/java/org/zwobble/couscous/tests/frontends/java/FreeVariablesTests.java9
2 files changed, 5 insertions, 7 deletions
diff --git a/src/test/java/org/zwobble/couscous/tests/CompilerTests.java b/src/test/java/org/zwobble/couscous/tests/CompilerTests.java
index 56d989c..6b0bf5f 100644
--- a/src/test/java/org/zwobble/couscous/tests/CompilerTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/CompilerTests.java
@@ -1,6 +1,5 @@
package org.zwobble.couscous.tests;
-import org.junit.Ignore;
import org.junit.Test;
import org.zwobble.couscous.ast.TypeName;
import org.zwobble.couscous.values.PrimitiveValue;
@@ -14,7 +13,6 @@ import java.nio.file.Path;
import java.util.List;
import static java.util.Arrays.asList;
-import static java.util.Collections.emptyList;
import static org.junit.Assert.assertEquals;
import static org.zwobble.couscous.tests.util.ExtraFiles.deleteRecursively;
import static org.zwobble.couscous.values.PrimitiveValues.value;
@@ -124,7 +122,6 @@ public abstract class CompilerTests {
}
@Test
- @Ignore("WIP")
public void lambdasWithThisCapture() throws Exception {
assertEquals(
value(42),
diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/FreeVariablesTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/FreeVariablesTests.java
index afded63..7cf349d 100644
--- a/src/test/java/org/zwobble/couscous/tests/frontends/java/FreeVariablesTests.java
+++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/FreeVariablesTests.java
@@ -1,6 +1,7 @@
package org.zwobble.couscous.tests.frontends.java;
import org.junit.Test;
+import org.zwobble.couscous.ast.ReferenceNode;
import org.zwobble.couscous.ast.VariableDeclaration;
import org.zwobble.couscous.tests.TestIds;
import org.zwobble.couscous.values.StringValue;
@@ -21,14 +22,14 @@ public class FreeVariablesTests {
@Test
public void referenceIsFreeIfThereIsNoAssociatedDeclaration() {
VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", StringValue.REF);
- List<VariableDeclaration> freeVariables = findFreeVariables(asList(reference(declaration)));
- assertEquals(asList(declaration), freeVariables);
+ List<ReferenceNode> freeVariables = findFreeVariables(asList(reference(declaration)));
+ assertEquals(asList(reference(declaration)), freeVariables);
}
@Test
public void referenceIsNotFreeIfIsDeclaredAsArgument() {
VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", StringValue.REF);
- List<VariableDeclaration> freeVariables = findFreeVariables(
+ List<ReferenceNode> freeVariables = findFreeVariables(
asList(formalArg(declaration), reference(declaration)));
assertEquals(emptyList(), freeVariables);
}
@@ -36,7 +37,7 @@ public class FreeVariablesTests {
@Test
public void referenceIsNotFreeIfIsReferenceToLocalDefinedInBody() {
VariableDeclaration declaration = var(TestIds.ANY_ID, "[name]", StringValue.REF);
- List<VariableDeclaration> freeVariables = findFreeVariables(
+ List<ReferenceNode> freeVariables = findFreeVariables(
asList(
localVariableDeclaration(declaration, literal("[value]")),
reference(declaration)));