aboutsummaryrefslogtreecommitdiff
path: root/dottydoc/test/UsecaseTest.scala
diff options
context:
space:
mode:
Diffstat (limited to 'dottydoc/test/UsecaseTest.scala')
-rw-r--r--dottydoc/test/UsecaseTest.scala37
1 files changed, 37 insertions, 0 deletions
diff --git a/dottydoc/test/UsecaseTest.scala b/dottydoc/test/UsecaseTest.scala
index 05bc8663f..c7b398d1f 100644
--- a/dottydoc/test/UsecaseTest.scala
+++ b/dottydoc/test/UsecaseTest.scala
@@ -31,6 +31,8 @@ class UsecaseTest extends DottyTest {
case PackageImpl(_, _, List(trt: Trait), _, _) =>
val List(foo: Def) = trt.members
+ assert(foo.comment.isDefined, "Lost comment in transformations")
+
val returnValue = foo.returnValue match {
case ref: TypeReference => ref.title
case _ =>
@@ -184,6 +186,41 @@ class UsecaseTest extends DottyTest {
}
}
+ @Test def checkStripping = {
+ val source = new SourceFile(
+ "CheckStripping.scala",
+ """
+ |package scala
+ |
+ |/** The trait $Coll
+ | *
+ | * @define Coll Iterable
+ | */
+ |trait Iterable[A] {
+ | /** Definition with a "disturbing" signature
+ | *
+ | * @usecase def map[B](f: A => B): $Coll[B]
+ | */
+ | def map[B, M[B]](f: A => B): M[B] = ???
+ |}
+ """.stripMargin
+ )
+
+ checkSources(source :: Nil) { packages =>
+ packages("scala") match {
+ case PackageImpl(_, _, List(trt: Trait), _, _) =>
+ val List(map: Def) = trt.members
+ assert(map.comment.isDefined, "Lost comment in transformations")
+
+ val docstr = ctx.docbase.docstring(map.symbol).get.raw
+ assert(
+ !docstr.contains("@usecase"),
+ s"Comment should not contain usecase after stripping, but was:\n$docstr"
+ )
+ }
+ }
+ }
+
@Test def checkIterator =
checkFiles("./scala-scala/src/library/scala/collection/Iterator.scala" :: Nil) { _ =>
// success if typer throws no errors! :)