summaryrefslogtreecommitdiff
path: root/test/scaladoc/run/tag-requirements.scala
blob: 24f1fab7611132becfdcabf466191679db44078a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import scala.tools.nsc.doc.base._
import scala.tools.nsc.doc.model._
import scala.tools.partest.ScaladocModelTest

object Test extends ScaladocModelTest {

  override def code =
    """
      package scala.test.scaladoc.tagrequirements
        /**
         * object comment
         * @version 1.0
         * @version 2.0
         */
        object Test {
          /**
           * foo comment
           * @param
           */
          def foo(b: Any) = ???
          /**
           * bar comment
           * @param b A value
           * @param b A value
           */
          def bar(b: Any) = ???
          /**
           * baz comment
           * @unrecognised
           */
          def baz() = ???
        }
    """

  def scaladocSettings = ""

  def testModel(root: Package) = {
    // get the quick access implicit defs in scope (_package(s), _class(es), _trait(s), object(s) _method(s), _value(s))
    import access._

    val base = root._package("scala")._package("test")._package("scaladoc")._package("tagrequirements")

    val test = base._object("Test")
    /*
     * We only care about the warnings which are side effects but we assert on the comment to
     * avoid static code analysis noise about unused values.
     */
    assert(extractCommentText(test.comment.get) == "object comment")
    assert(extractCommentText(test._method("foo").comment.get) == "foo comment")
    assert(extractCommentText(test._method("bar").comment.get) == "bar comment")
    assert(extractCommentText(test._method("baz").comment.get) == "baz comment")
  }
}