blob: 989d9aa13a7e72489db9d0dd72825833dc2f6aff (
plain) (
tree)
|
|
import scala.tools.nsc.doc.model._
import scala.tools.partest.ScaladocModelTest
object Test extends ScaladocModelTest {
// Working around the fact that usecases have the form Coll[T] and not Coll[T, U], as required by Map
override def code = """
package a {
class A { class Z }
class C extends b.B { class X extends Y }
}
package b {
/** @contentDiagram */
class B extends a.A { class Y extends Z }
/** @contentDiagram */
class D extends a.C { class V extends X }
}
"""
// no need for special settings
def scaladocSettings = "-diagrams -skip-packages a"
def testModel(rootPackage: Package) = {
// get the quick access implicit defs in scope (_package(s), _class(es), _trait(s), object(s) _method(s), _value(s))
import access._
// just need to check the member exists, access methods will throw an error if there's a problem
assert(!rootPackage.templates.exists(_.name == "a"), "package a should not exist in the root package")
assert(rootPackage.templates.exists(_.name == "b"), "package b should exist in the root package")
val b = rootPackage._package("b")
val B = b._class("B")
val D = b._class("D")
testDiagram(B, B.contentDiagram, 2, 1)
// unfortunately not all packages, as B1 extends A.this.A1 and it gets the wrong member -- maybe we should model
// things as we do for symbols?
testDiagram(D, D.contentDiagram, 3, 2)
}
}
|