diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-03-09 15:54:25 +0100 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-04-07 08:40:27 +0200 |
commit | ee5413751183d4ab217cf63fc9c1ac7b33ff4710 (patch) | |
tree | f2fb4d1c11022068ba640a514a02ede6533d2184 /test | |
parent | 7f20aef772c1bdc6e0a699a82f179d93934a1555 (diff) | |
download | dotty-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.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") + } + } +} |