diff options
author | Antoine Gourlay <antoine@gourlay.fr> | 2015-04-02 17:15:57 +0200 |
---|---|---|
committer | Antoine Gourlay <antoine@gourlay.fr> | 2015-04-02 20:15:03 +0200 |
commit | 293f7c007e1cfdfe67a61a02f8d9eee0bc4fcc87 (patch) | |
tree | ba5e54e5abc218950c54a0801f624aa143cb0fd8 /test/scaladoc/run/t5795.scala | |
parent | 83ea1250882108c82e0e47adbebca28f907de4f4 (diff) | |
download | scala-293f7c007e1cfdfe67a61a02f8d9eee0bc4fcc87.tar.gz scala-293f7c007e1cfdfe67a61a02f8d9eee0bc4fcc87.tar.bz2 scala-293f7c007e1cfdfe67a61a02f8d9eee0bc4fcc87.zip |
SI-5795 empty scaladoc tags should be omitted from output
Empty scaladoc tags, like `@param`, `@return`, `@version`, etc. should
be omitted from the output when they have no meaning by themselves.
They are still parsed, for validation (warning that a tag doesn't
exist and so on), but are removed, if empty, when building the Comment.
The only ones that stay even when empty are `@deprecated`, so that the
class name can be striked-through ("Deprecated" also appears in the
header, even if there is no message with it), and `@throws`.
Diffstat (limited to 'test/scaladoc/run/t5795.scala')
-rw-r--r-- | test/scaladoc/run/t5795.scala | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test/scaladoc/run/t5795.scala b/test/scaladoc/run/t5795.scala new file mode 100644 index 0000000000..767e4f1a72 --- /dev/null +++ b/test/scaladoc/run/t5795.scala @@ -0,0 +1,63 @@ +import scala.tools.nsc.doc.model._ +import scala.tools.partest.ScaladocModelTest + +object Test extends ScaladocModelTest { + + override def code = """ +/** + * Only the 'deprecated' tag should stay. + * + * @author + * @since + * @todo + * @note + * @see + * @version + * @deprecated + * @example + * @constructor + */ +object Test { + /** + * Only the 'throws' tag should stay. + * @param foo + * @param bar + * @param baz + * @return + * @throws Exception + * @tparam T + */ + def foo[T](foo: Any, bar: Any, baz: Any): Int = 1 +} + """ + + def scaladocSettings = "" + + def test(b: Boolean, text: => String): Unit = if (!b) println(text) + + def testModel(root: Package) = { + import access._ + val obj = root._object("Test") + val c = obj.comment.get + + test(c.authors.isEmpty, s"expected no authors, found: ${c.authors}") + test(!c.since.isDefined, s"expected no since tag, found: ${c.since}") + test(c.todo.isEmpty, s"expected no todos, found: ${c.todo}") + test(c.note.isEmpty, s"expected no note, found: ${c.note}") + test(c.see.isEmpty, s"expected no see, found: ${c.see}") + test(!c.version.isDefined, s"expected no version tag, found: ${c.version}") + // deprecated stays + test(c.deprecated.isDefined, s"expected deprecated tag, found none") + test(c.example.isEmpty, s"expected no example, found: ${c.example}") + test(!c.constructor.isDefined, s"expected no constructor tag, found: ${c.constructor}") + + val method = obj._method("foo") + val mc = method.comment.get + + test(mc.valueParams.isEmpty, s"expected empty value params, found: ${mc.valueParams}") + test(mc.typeParams.isEmpty, s"expected empty type params, found: ${mc.typeParams}") + test(!mc.result.isDefined, s"expected no result tag, found: ${mc.result}") + // throws stay + test(!mc.throws.isEmpty, s"expected an exception tag, found: ${mc.throws}") + } +} |