diff options
Diffstat (limited to 'dottydoc/test/UsecaseTest.scala')
-rw-r--r-- | dottydoc/test/UsecaseTest.scala | 37 |
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! :) |