diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-08-24 17:25:11 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-10-06 17:08:03 +0200 |
commit | ade23066b1178575be24a403eae5cf234e18ecdf (patch) | |
tree | 1397c18a3f4b6e8a9b91b2adc3d1520c6ef1003e /dottydoc/test | |
parent | 567798a8f66343993f93250d3261d02dccb86bfc (diff) | |
download | dotty-ade23066b1178575be24a403eae5cf234e18ecdf.tar.gz dotty-ade23066b1178575be24a403eae5cf234e18ecdf.tar.bz2 dotty-ade23066b1178575be24a403eae5cf234e18ecdf.zip |
Add `UsecasePhase` to dottydoc
Diffstat (limited to 'dottydoc/test')
-rw-r--r-- | dottydoc/test/UsecaseTest.scala | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/dottydoc/test/UsecaseTest.scala b/dottydoc/test/UsecaseTest.scala new file mode 100644 index 000000000..e2190e709 --- /dev/null +++ b/dottydoc/test/UsecaseTest.scala @@ -0,0 +1,52 @@ +package dotty.tools +package dottydoc + +import org.junit.Test +import org.junit.Assert._ + +import dotc.util.SourceFile +import model._ +import model.internal._ +import model.references._ + +class UsecaseTest extends DottyTest { + @Test def simpleUsecase = { + val source = new SourceFile( + "DefWithUseCase.scala", + """ + |package scala + | + |trait Test[A] { + | /** Definition with a "disturbing" signature + | * + | * @usecase def foo: A + | */ + | def foo[B]: A => B + |} + """.stripMargin + ) + + checkSources(source :: Nil) { packages => + packages("scala") match { + case PackageImpl(_, _, List(trt: Trait), _, _) => + val List(map: Def) = trt.members + + val returnValue = map.returnValue match { + case ref: TypeReference => ref.title + case _ => + assert( + false, + "Incorrect return value after usecase transformation" + ) + "" + } + + assert( + map.typeParams.isEmpty, + "Type parameters were not stripped by usecase" + ) + assert(returnValue == "A", "Incorrect return type after usecase") + } + } + } +} |