summaryrefslogtreecommitdiff
path: root/test/scaladoc/run
diff options
context:
space:
mode:
authorAntoine Gourlay <antoine@gourlay.fr>2014-11-04 11:31:14 +0100
committerAntoine Gourlay <antoine@gourlay.fr>2014-11-05 14:44:51 +0100
commit315f58f5fb7241966e218e13c9b26aea8eede56e (patch)
tree1c0f1b6677a3f208b32c56c70ff7c70b9d3778a1 /test/scaladoc/run
parentb556b2fdcc7198bffe0ee90c5adc8c9eb3c29e36 (diff)
downloadscala-315f58f5fb7241966e218e13c9b26aea8eede56e.tar.gz
scala-315f58f5fb7241966e218e13c9b26aea8eede56e.tar.bz2
scala-315f58f5fb7241966e218e13c9b26aea8eede56e.zip
SI-6626 make @throws tags create links to exceptions
In scaladoc, this turns exceptions in @throws tags into links (when it can find the target exception), instead of just showing the name.
Diffstat (limited to 'test/scaladoc/run')
-rw-r--r--test/scaladoc/run/t6626.check7
-rw-r--r--test/scaladoc/run/t6626.scala42
2 files changed, 49 insertions, 0 deletions
diff --git a/test/scaladoc/run/t6626.check b/test/scaladoc/run/t6626.check
new file mode 100644
index 0000000000..de3a6c5c0b
--- /dev/null
+++ b/test/scaladoc/run/t6626.check
@@ -0,0 +1,7 @@
+newSource:10: warning: Could not find any member to link for "SomeUnknownException".
+ /**
+ ^
+newSource:10: warning: Could not find any member to link for "IOException".
+ /**
+ ^
+Done.
diff --git a/test/scaladoc/run/t6626.scala b/test/scaladoc/run/t6626.scala
new file mode 100644
index 0000000000..6c61c605d6
--- /dev/null
+++ b/test/scaladoc/run/t6626.scala
@@ -0,0 +1,42 @@
+import scala.tools.nsc.doc.base._
+import scala.tools.nsc.doc.base.comment._
+import scala.tools.nsc.doc.model._
+import scala.tools.partest.ScaladocModelTest
+
+object Test extends ScaladocModelTest {
+
+ override def code = """
+
+package org.foo
+
+class MyException extends Exception
+
+class MyOtherException extends Exception
+
+object Foo {
+ /**
+ * Test exception linking
+ *
+ * @throws org.foo.MyException linked with a fully-qualified name
+ * @throws MyOtherException linked with a relative name
+ * @throws SomeUnknownException not linked at all (but with some text)
+ * @throws IOException
+ */
+ def test(): Unit = ???
+}
+ """
+
+ def scaladocSettings = ""
+
+ def testModel(rootPackage: Package) = {
+ // get the quick access implicit defs in scope (_package(s), _class(es), _trait(s), object(s) _method(s), _value(s))
+ import access._
+
+ val a = rootPackage._package("org")._package("foo")._object("Foo")._method("test")
+ val throws = a.comment.get.throws
+ val allbodies = Body(throws.values.flatMap(_.blocks).toSeq)
+
+ val links = countLinksInBody(allbodies, _.link.isInstanceOf[LinkToTpl[_]])
+ assert(links == 2, links + " == 2 (links to MyException and MyOtherException)")
+ }
+}