aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
diff options
context:
space:
mode:
authorGravatar Jon Brandvein <brandjon@google.com>2016-10-12 20:37:54 +0000
committerGravatar Yue Gan <yueg@google.com>2016-10-13 08:53:25 +0000
commit65400725553a8b133157d2ddf1a2330de908e9bd (patch)
treea3f39ef12d208eaa70c4f3d57d435063a405d29e /src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
parent214ec35e7e8d10a65ad111a2ce5c9be84d865a26 (diff)
Refactor getParentWithSkylarkModule() into SkylarkInterfaceUtils
-- MOS_MIGRATED_REVID=135956016
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java39
1 files changed, 18 insertions, 21 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
index 661b8636a2..7acaaa7723 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java
@@ -265,37 +265,33 @@ public class ValidationTest extends EvaluationTestCase {
}
@Test
- public void testParentWithSkylarkModule() throws Exception {
+ public void testGetSkylarkType() throws Exception {
Class<?> emptyTupleClass = Tuple.empty().getClass();
Class<?> tupleClass = Tuple.of(1, "a", "b").getClass();
- Class<?> mutableListClass = new MutableList(Tuple.of(1, 2, 3), env).getClass();
+ Class<?> mutableListClass = new MutableList<>(Tuple.of(1, 2, 3), env).getClass();
- assertThat(mutableListClass).isEqualTo(MutableList.class);
+ assertThat(EvalUtils.getSkylarkType(mutableListClass)).isEqualTo(MutableList.class);
assertThat(MutableList.class.isAnnotationPresent(SkylarkModule.class)).isTrue();
- assertThat(EvalUtils.getParentWithSkylarkModule(MutableList.class))
- .isEqualTo(MutableList.class);
- assertThat(EvalUtils.getParentWithSkylarkModule(emptyTupleClass)).isEqualTo(Tuple.class);
- assertThat(EvalUtils.getParentWithSkylarkModule(tupleClass)).isEqualTo(Tuple.class);
- // TODO(bazel-team): make a tuple not a list anymore.
- assertThat(EvalUtils.getParentWithSkylarkModule(tupleClass)).isEqualTo(Tuple.class);
+ assertThat(EvalUtils.getSkylarkType(emptyTupleClass)).isEqualTo(Tuple.class);
+ assertThat(EvalUtils.getSkylarkType(tupleClass)).isEqualTo(Tuple.class);
- // TODO(bazel-team): fix that?
- assertThat(ClassObject.class.isAnnotationPresent(SkylarkModule.class)).isFalse();
- assertThat(SkylarkClassObject.class.isAnnotationPresent(SkylarkModule.class))
- .isTrue();
- assertThat(
- EvalUtils.getParentWithSkylarkModule(SkylarkClassObject.class)
- == SkylarkClassObject.class)
- .isTrue();
- assertThat(EvalUtils.getParentWithSkylarkModule(ClassObject.class)).isNull();
+ assertThat(EvalUtils.getSkylarkType(SkylarkClassObject.class))
+ .isEqualTo(SkylarkClassObject.class);
+ try {
+ EvalUtils.getSkylarkType(ClassObject.class);
+ throw new Exception("Should have raised IllegalArgumentException exception");
+ } catch (IllegalArgumentException e) {
+ assertThat(e.getMessage()).contains(
+ "interface com.google.devtools.build.lib.syntax.ClassObject is not allowed "
+ + "as a Skylark value");
+ }
}
@Test
public void testSkylarkTypeEquivalence() throws Exception {
- // All subclasses of SkylarkList are made equivalent
Class<?> emptyTupleClass = Tuple.empty().getClass();
Class<?> tupleClass = Tuple.of(1, "a", "b").getClass();
- Class<?> mutableListClass = new MutableList(Tuple.of(1, 2, 3), env).getClass();
+ Class<?> mutableListClass = new MutableList<>(Tuple.of(1, 2, 3), env).getClass();
assertThat(SkylarkType.of(mutableListClass)).isEqualTo(SkylarkType.LIST);
assertThat(SkylarkType.of(emptyTupleClass)).isEqualTo(SkylarkType.TUPLE);
@@ -315,7 +311,8 @@ public class ValidationTest extends EvaluationTestCase {
// TODO(bazel-team): move to some other place to remove dependency of syntax tests on Artifact?
assertThat(SkylarkType.of(Artifact.SpecialArtifact.class))
.isEqualTo(SkylarkType.of(Artifact.class));
- assertThat(SkylarkType.of(RuleConfiguredTarget.class)).isNotEqualTo(SkylarkType.of(SkylarkClassObject.class));
+ assertThat(SkylarkType.of(RuleConfiguredTarget.class))
+ .isNotEqualTo(SkylarkType.of(SkylarkClassObject.class));
}
@Test