diff options
author | 2016-10-12 20:37:54 +0000 | |
---|---|---|
committer | 2016-10-13 08:53:25 +0000 | |
commit | 65400725553a8b133157d2ddf1a2330de908e9bd (patch) | |
tree | a3f39ef12d208eaa70c4f3d57d435063a405d29e /src/test/java/com/google/devtools/build/lib/syntax/ValidationTest.java | |
parent | 214ec35e7e8d10a65ad111a2ce5c9be84d865a26 (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.java | 39 |
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 |