aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2016-03-09 15:54:25 +0100
committerFelix Mulder <felix.mulder@gmail.com>2016-04-07 08:40:27 +0200
commitee5413751183d4ab217cf63fc9c1ac7b33ff4710 (patch)
treef2fb4d1c11022068ba640a514a02ede6533d2184 /test
parent7f20aef772c1bdc6e0a699a82f179d93934a1555 (diff)
downloaddotty-ee5413751183d4ab217cf63fc9c1ac7b33ff4710.tar.gz
dotty-ee5413751183d4ab217cf63fc9c1ac7b33ff4710.tar.bz2
dotty-ee5413751183d4ab217cf63fc9c1ac7b33ff4710.zip
Add ability to parse nested classes/traits docstrings
Diffstat (limited to 'test')
-rw-r--r--test/test/DottyDocTests.scala48
1 files changed, 47 insertions, 1 deletions
diff --git a/test/test/DottyDocTests.scala b/test/test/DottyDocTests.scala
index df53c2ae9..af3336cb7 100644
--- a/test/test/DottyDocTests.scala
+++ b/test/test/DottyDocTests.scala
@@ -60,7 +60,9 @@ object DottyDocTests extends DottyTest {
SingleCaseClassWithoutPackage,
SingleTraitWihoutPackage,
MultipleTraitsWithoutPackage,
- MultipleMixedEntitiesWithPackage
+ MultipleMixedEntitiesWithPackage,
+ NestedClass,
+ NestedClassThenOuter
)
def main(args: Array[String]): Unit = {
@@ -185,3 +187,47 @@ case object MultipleMixedEntitiesWithPackage extends DottyDocTest {
}
}
}
+
+case object NestedClass extends DottyDocTest {
+ override val source =
+ """
+ |/** Outer docstring */
+ |class Outer {
+ | /** Inner docstring */
+ | class Inner(val x: Int)
+ |}
+ """.stripMargin
+
+ override def assertion = {
+ case PackageDef(_, Seq(outer @ TypeDef(_, tpl @ Template(_,_,_,_)))) =>
+ checkDocString(outer.rawComment, "/** Outer docstring */")
+ tpl.body match {
+ case (inner @ TypeDef(_,_)) :: _ => checkDocString(inner.rawComment, "/** Inner docstring */")
+ case _ => assert(false, "Couldn't find inner class")
+ }
+ }
+}
+
+case object NestedClassThenOuter extends DottyDocTest {
+ override val source =
+ """
+ |/** Outer1 docstring */
+ |class Outer1 {
+ | /** Inner docstring */
+ | class Inner(val x: Int)
+ |}
+ |
+ |/** Outer2 docstring */
+ |class Outer2
+ """.stripMargin
+
+ override def assertion = {
+ case PackageDef(_, Seq(o1 @ TypeDef(_, tpl @ Template(_,_,_,_)), o2 @ TypeDef(_,_))) =>
+ checkDocString(o1.rawComment, "/** Outer1 docstring */")
+ checkDocString(o2.rawComment, "/** Outer2 docstring */")
+ tpl.body match {
+ case (inner @ TypeDef(_,_)) :: _ => checkDocString(inner.rawComment, "/** Inner docstring */")
+ case _ => assert(false, "Couldn't find inner class")
+ }
+ }
+}