diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/test/DottyDocTests.scala | 48 |
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") + } + } +} |