diff options
author | 2017-07-20 15:19:18 +0200 | |
---|---|---|
committer | 2017-07-21 09:11:02 +0200 | |
commit | 3d2c75c2279c11b8cf5560687f2d0ebfd329c7bf (patch) | |
tree | 454762755eb7d85de07a6c382e769ae67152362e /src/test | |
parent | 46dfbc269c13ac073fc3276300540c847047ec5b (diff) |
Skylark documentation: Replace "set" and "List" plain-text return types with links to "deptset" and "list".
PiperOrigin-RevId: 162607082
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/com/google/devtools/build/docgen/BUILD | 1 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java | 69 |
2 files changed, 70 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/docgen/BUILD b/src/test/java/com/google/devtools/build/docgen/BUILD index 6c21717373..475e74c70a 100644 --- a/src/test/java/com/google/devtools/build/docgen/BUILD +++ b/src/test/java/com/google/devtools/build/docgen/BUILD @@ -42,6 +42,7 @@ java_library( ":testutil", "//src/main/java/com/google/devtools/build/docgen:docgen_javalib", "//src/main/java/com/google/devtools/build/lib:build-base", + "//src/main/java/com/google/devtools/build/lib:collect", "//src/main/java/com/google/devtools/build/lib:packages-internal", "//src/main/java/com/google/devtools/build/lib:skylarkinterface", "//src/main/java/com/google/devtools/build/lib:syntax", diff --git a/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java b/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java index b491d26049..29779dede7 100644 --- a/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java +++ b/src/test/java/com/google/devtools/build/docgen/SkylarkDocumentationTest.java @@ -17,17 +17,22 @@ import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; import com.google.common.base.Function; +import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.devtools.build.docgen.skylark.SkylarkBuiltinMethodDoc; import com.google.devtools.build.docgen.skylark.SkylarkJavaMethodDoc; import com.google.devtools.build.docgen.skylark.SkylarkMethodDoc; import com.google.devtools.build.docgen.skylark.SkylarkModuleDoc; +import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.rules.SkylarkRuleContext; import com.google.devtools.build.lib.skylark.util.SkylarkTestCase; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; import com.google.devtools.build.lib.syntax.Environment; +import com.google.devtools.build.lib.syntax.SkylarkList; +import com.google.devtools.build.lib.syntax.SkylarkList.MutableList; +import com.google.devtools.build.lib.syntax.SkylarkList.Tuple; import com.google.devtools.build.lib.syntax.util.EvaluationTestCase; import java.lang.reflect.Method; import java.util.ArrayList; @@ -37,6 +42,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.TreeMap; +import java.util.stream.Collectors; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -161,6 +167,37 @@ public class SkylarkDocumentationTest extends SkylarkTestCase { } } + /** MockClassWithContainerReturnValues */ + @SkylarkModule(name = "MockClassWithContainerReturnValues", + doc = "MockClassWithContainerReturnValues") + private static class MockClassWithContainerReturnValues { + + @SkylarkCallable(name = "depset", doc = "depset") + public NestedSet<Integer> getNestedSet() { + return null; + } + + @SkylarkCallable(name = "tuple", doc = "tuple") + public Tuple<Integer> getTuple() { + return null; + } + + @SkylarkCallable(name = "immutable", doc = "immutable") + public ImmutableList<Integer> getImmutableList() { + return null; + } + + @SkylarkCallable(name = "mutable", doc = "mutable") + public MutableList<Integer> getMutableList() { + return null; + } + + @SkylarkCallable(name = "skylark", doc = "skylark") + public SkylarkList<Integer> getSkylarkList() { + return null; + } + } + @Test public void testSkylarkJavaInterfaceExplorerOnSimpleClass() throws Exception { Map<String, SkylarkModuleDoc> objects = collect(MockClassA.class); @@ -216,6 +253,38 @@ public class SkylarkDocumentationTest extends SkylarkTestCase { .isEqualTo("<a class=\"anchor\" href=\"int.html\">int</a> MockClassE.get()"); } + @Test + public void testSkylarkContainerReturnTypesWithoutAnnotations() throws Exception { + Map<String, SkylarkModuleDoc> objects = collect(MockClassWithContainerReturnValues.class); + assertThat(objects).containsKey("MockClassWithContainerReturnValues"); + Collection<SkylarkMethodDoc> methods = + objects.get("MockClassWithContainerReturnValues").getMethods(); + + List<String> signatures = + methods.stream().map(m -> m.getSignature()).collect(Collectors.toList()); + assertThat(signatures).hasSize(5); + assertThat(signatures) + .contains( + "<a class=\"anchor\" href=\"depset.html\">depset</a> " + + "MockClassWithContainerReturnValues.depset()"); + assertThat(signatures) + .contains( + "<a class=\"anchor\" href=\"list.html\">tuple</a> " + + "MockClassWithContainerReturnValues.tuple()"); + assertThat(signatures) + .contains( + "<a class=\"anchor\" href=\"list.html\">list</a> " + + "MockClassWithContainerReturnValues.immutable()"); + assertThat(signatures) + .contains( + "<a class=\"anchor\" href=\"list.html\">list</a> " + + "MockClassWithContainerReturnValues.mutable()"); + assertThat(signatures) + .contains( + "<a class=\"anchor\" href=\"list.html\">sequence</a> " + + "MockClassWithContainerReturnValues.skylark()"); + } + private Iterable<Method> extractMethods(Collection<SkylarkJavaMethodDoc> methods) { return Iterables.transform(methods, new Function<SkylarkJavaMethodDoc, Method>() { @Override |