aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/docgen/BUILD1
-rw-r--r--src/test/java/com/google/devtools/build/docgen/RuleDocumentationAttributeTest.java44
-rw-r--r--src/test/java/com/google/devtools/build/docgen/RuleDocumentationTest.java4
-rw-r--r--src/test/java/com/google/devtools/build/docgen/RuleLinkExpanderTest.java80
4 files changed, 104 insertions, 25 deletions
diff --git a/src/test/java/com/google/devtools/build/docgen/BUILD b/src/test/java/com/google/devtools/build/docgen/BUILD
index 81c2fa612b..7d04dec7ea 100644
--- a/src/test/java/com/google/devtools/build/docgen/BUILD
+++ b/src/test/java/com/google/devtools/build/docgen/BUILD
@@ -29,6 +29,7 @@ java_library(
"DocCheckerUtilsTest.java",
"RuleDocumentationAttributeTest.java",
"RuleDocumentationTest.java",
+ "RuleLinkExpanderTest.java",
"SkylarkDocumentationTest.java",
],
deps = [
diff --git a/src/test/java/com/google/devtools/build/docgen/RuleDocumentationAttributeTest.java b/src/test/java/com/google/devtools/build/docgen/RuleDocumentationAttributeTest.java
index 89bb1bbf15..03b270c4fc 100644
--- a/src/test/java/com/google/devtools/build/docgen/RuleDocumentationAttributeTest.java
+++ b/src/test/java/com/google/devtools/build/docgen/RuleDocumentationAttributeTest.java
@@ -39,69 +39,67 @@ public class RuleDocumentationAttributeTest {
@Test
public void testDirectChild() {
RuleDocumentationAttribute attr1 = RuleDocumentationAttribute.create(
- IntermediateRule.class, "", "", 0, NO_FLAGS);
+ IntermediateRule.class, "", "", 0, "", NO_FLAGS);
assertEquals(1, attr1.getDefinitionClassAncestryLevel(TestRule.class));
}
@Test
public void testTransitiveChild() {
RuleDocumentationAttribute attr2 = RuleDocumentationAttribute.create(
- BaseRule.class, "", "", 0, NO_FLAGS);
+ BaseRule.class, "", "", 0, "", NO_FLAGS);
assertEquals(2, attr2.getDefinitionClassAncestryLevel(TestRule.class));
}
@Test
public void testClassIsNotChild() {
RuleDocumentationAttribute attr2 = RuleDocumentationAttribute.create(
- IntermediateRule.class, "", "", 0, NO_FLAGS);
+ IntermediateRule.class, "", "", 0, "", NO_FLAGS);
assertEquals(-1, attr2.getDefinitionClassAncestryLevel(BaseRule.class));
}
@Test
public void testClassIsSame() {
RuleDocumentationAttribute attr3 = RuleDocumentationAttribute.create(
- TestRule.class, "", "", 0, NO_FLAGS);
+ TestRule.class, "", "", 0, "", NO_FLAGS);
assertEquals(0, attr3.getDefinitionClassAncestryLevel(TestRule.class));
}
@Test
public void testHasFlags() {
RuleDocumentationAttribute attr = RuleDocumentationAttribute.create(
- TestRule.class, "", "", 0, ImmutableSet.<String>of("SOME_FLAG"));
+ TestRule.class, "", "", 0, "", ImmutableSet.<String>of("SOME_FLAG"));
assertTrue(attr.hasFlag("SOME_FLAG"));
}
@Test
public void testCompareTo() {
- assertTrue(
- RuleDocumentationAttribute.create(TestRule.class, "a", "", 0, NO_FLAGS)
- .compareTo(
- RuleDocumentationAttribute.create(TestRule.class, "b", "", 0, NO_FLAGS))
- == -1);
+ assertEquals(
+ -1,
+ RuleDocumentationAttribute.create(TestRule.class, "a", "", 0, "", NO_FLAGS).compareTo(
+ RuleDocumentationAttribute.create(TestRule.class, "b", "", 0, "", NO_FLAGS)));
}
@Test
public void testCompareToWithPriorityAttributeName() {
- assertTrue(
- RuleDocumentationAttribute.create(TestRule.class, "a", "", 0, NO_FLAGS)
- .compareTo(
- RuleDocumentationAttribute.create(TestRule.class, "name", "", 0, NO_FLAGS))
- == 1);
+ assertEquals(
+ 1,
+ RuleDocumentationAttribute.create(TestRule.class, "a", "", 0, "", NO_FLAGS).compareTo(
+ RuleDocumentationAttribute.create(TestRule.class, "name", "", 0, "", NO_FLAGS)));
}
@Test
public void testEquals() {
assertEquals(
- RuleDocumentationAttribute.create(TestRule.class, "a", "", 0, NO_FLAGS),
- RuleDocumentationAttribute.create(IntermediateRule.class, "a", "", 0, NO_FLAGS));
+ RuleDocumentationAttribute.create(TestRule.class, "a", "", 0, "", NO_FLAGS),
+ RuleDocumentationAttribute.create(IntermediateRule.class, "a", "", 0, "", NO_FLAGS));
}
@Test
public void testHashCode() {
assertEquals(
- RuleDocumentationAttribute.create(TestRule.class, "a", "", 0, NO_FLAGS)
+ RuleDocumentationAttribute.create(TestRule.class, "a", "", 0, "", NO_FLAGS)
.hashCode(),
- RuleDocumentationAttribute.create(IntermediateRule.class, "a", "", 0, NO_FLAGS)
+ RuleDocumentationAttribute.create(IntermediateRule.class, "a", "", 0, "", NO_FLAGS)
.hashCode());
}
@@ -111,7 +109,7 @@ public class RuleDocumentationAttributeTest {
Attribute attribute = Attribute.attr("foo_version", Type.STRING)
.value(defaultValue).build();
RuleDocumentationAttribute attributeDoc = RuleDocumentationAttribute.create(
- TestRule.class, "testrule", "", 0, NO_FLAGS);
+ TestRule.class, "testrule", "", 0, "", NO_FLAGS);
attributeDoc.setAttribute(attribute);
String doc = attributeDoc.getSynopsis();
assertEquals("String; optional; default is \"" + defaultValue + "\"", doc);
@@ -123,7 +121,7 @@ public class RuleDocumentationAttributeTest {
Attribute attribute = Attribute.attr("bar_limit", Type.INTEGER)
.value(defaultValue).build();
RuleDocumentationAttribute attributeDoc = RuleDocumentationAttribute.create(
- TestRule.class, "testrule", "", 0, NO_FLAGS);
+ TestRule.class, "testrule", "", 0, "", NO_FLAGS);
attributeDoc.setAttribute(attribute);
String doc = attributeDoc.getSynopsis();
assertEquals("Integer; optional; default is " + defaultValue, doc);
@@ -136,7 +134,7 @@ public class RuleDocumentationAttributeTest {
.allowedFileTypes()
.build();
RuleDocumentationAttribute attributeDoc = RuleDocumentationAttribute.create(
- TestRule.class, "testrule", "", 0, NO_FLAGS);
+ TestRule.class, "testrule", "", 0, "", NO_FLAGS);
attributeDoc.setAttribute(attribute);
String doc = attributeDoc.getSynopsis();
assertEquals("List of <a href=\"../build-ref.html#labels\">labels</a>; optional", doc);
@@ -149,7 +147,7 @@ public class RuleDocumentationAttributeTest {
.allowedFileTypes(CppFileTypes.CPP_HEADER)
.build();
RuleDocumentationAttribute attributeDoc = RuleDocumentationAttribute.create(
- TestRule.class, "testrule", "", 0, NO_FLAGS);
+ TestRule.class, "testrule", "", 0, "", NO_FLAGS);
attributeDoc.setAttribute(attribute);
String doc = attributeDoc.getSynopsis();
assertEquals("<a href=\"../build-ref.html#labels\">Label</a>; required", doc);
diff --git a/src/test/java/com/google/devtools/build/docgen/RuleDocumentationTest.java b/src/test/java/com/google/devtools/build/docgen/RuleDocumentationTest.java
index d77c9eaabc..d7c6f6c4bc 100644
--- a/src/test/java/com/google/devtools/build/docgen/RuleDocumentationTest.java
+++ b/src/test/java/com/google/devtools/build/docgen/RuleDocumentationTest.java
@@ -81,7 +81,7 @@ public class RuleDocumentationTest {
@Test
public void testInheritedAttributeGeneratesSignature() throws Exception {
RuleDocumentationAttribute runtimeDepsAttr = RuleDocumentationAttribute.create(TestRule.class,
- "runtime_deps", "attribute doc", 0, NO_FLAGS);
+ "runtime_deps", "attribute doc", 0, "", NO_FLAGS);
checkAttributeForRule(
new RuleDocumentation(
"java_binary", "BINARY", "JAVA", "", 0, "", ImmutableSet.<String>of(), provider),
@@ -111,7 +111,7 @@ public class RuleDocumentationTest {
0, "", ImmutableSet.<String>of(), provider);
ruleDoc.addDocVariable("VAR", "w");
RuleDocumentationAttribute attributeDoc = RuleDocumentationAttribute.create(TestRule.class,
- "srcs", "attribute doc", 0, NO_FLAGS);
+ "srcs", "attribute doc", 0, "", NO_FLAGS);
ruleDoc.addAttribute(attributeDoc);
assertEquals("\nx\ny\nz\n\n", ruleDoc.getCommandLineDocumentation());
}
diff --git a/src/test/java/com/google/devtools/build/docgen/RuleLinkExpanderTest.java b/src/test/java/com/google/devtools/build/docgen/RuleLinkExpanderTest.java
new file mode 100644
index 0000000000..2694b0e464
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/docgen/RuleLinkExpanderTest.java
@@ -0,0 +1,80 @@
+// Copyright 2015 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+package com.google.devtools.build.docgen;
+
+import static org.junit.Assert.assertEquals;
+
+import com.google.common.collect.ImmutableMap;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/** Unit tests for {@link RuleLinkExpander}. */
+@RunWith(JUnit4.class)
+public class RuleLinkExpanderTest {
+ private RuleLinkExpander expander;
+
+ @Before public void setUp() {
+ expander = new RuleLinkExpander(ImmutableMap.<String, String>builder()
+ .put("cc_library", "c-cpp")
+ .put("cc_binary", "c-cpp")
+ .put("java_binary", "java")
+ .put("proto_library", "protocol-buffer")
+ .build());
+ }
+
+ @Test public void testRule() {
+ String docs = "<a href=\"${link java_binary}\">java_binary rule</a>";
+ String expected = "<a href=\"java.html#java_binary\">java_binary rule</a>";
+ assertEquals(expected, expander.expand(docs));
+ }
+
+ @Test public void testRuleAndAttribute() {
+ String docs = "<a href=\"${link java_binary.runtime_deps}\">runtime_deps attribute</a>";
+ String expected = "<a href=\"java.html#java_binary.runtime_deps\">runtime_deps attribute</a>";
+ assertEquals(expected, expander.expand(docs));
+ }
+
+ @Test public void testRuleExamples() {
+ String docs = "<a href=\"${link cc_binary_examples}\">examples</a>";
+ String expected = "<a href=\"c-cpp.html#cc_binary_examples\">examples</a>";
+ assertEquals(expected, expander.expand(docs));
+ }
+
+ @Test public void testRuleArgs() {
+ String docs = "<a href=\"${link cc_binary_args}\">args</a>";
+ String expected = "<a href=\"c-cpp.html#cc_binary_args\">args</a>";
+ assertEquals(expected, expander.expand(docs));
+ }
+
+ @Test public void testStaticPageRef() {
+ String docs = "<a href=\"${link common-definitions}\">Common Definitions</a>";
+ String expected = "<a href=\"common-definitions.html\">Common Definitions</a>";
+ assertEquals(expected, expander.expand(docs));
+ }
+
+ @Test public void testStaticPageWithHeadingRef() {
+ String docs = "<a href=\"${link common-definitions.label-expansion}\">Label Expansion</a>";
+ String expected = "<a href=\"common-definitions.html#label-expansion\">Label Expansion</a>";
+ assertEquals(expected, expander.expand(docs));
+ }
+
+ @Test(expected = IllegalArgumentException.class)
+ public void testRefNotFound() {
+ String docs = "<a href=\"${link foo.bar}\">bar</a>";
+ expander.expand(docs);
+ }
+}