diff options
Diffstat (limited to 'test/scaladoc/run/diagrams-base.scala')
-rw-r--r-- | test/scaladoc/run/diagrams-base.scala | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/test/scaladoc/run/diagrams-base.scala b/test/scaladoc/run/diagrams-base.scala deleted file mode 100644 index 38bed06502..0000000000 --- a/test/scaladoc/run/diagrams-base.scala +++ /dev/null @@ -1,73 +0,0 @@ -import scala.tools.nsc.doc.model._ -import scala.tools.nsc.doc.model.diagram._ -import scala.tools.partest.ScaladocModelTest - -object Test extends ScaladocModelTest { - - override def code = """ - package scala.test.scaladoc.diagrams - - import language.implicitConversions - - trait A - trait B - trait C - class E extends A with B with C - object E { implicit def eToT(e: E) = new T } - - class F extends E - class G extends E - private class H extends E /* since it's private, it won't go into the diagram */ - class T { def t = true } - - class X - object X { implicit def xToE(x: X) = new E} - class Y extends X - class Z - object Z { implicit def zToE(z: Z) = new E} - """ - - // diagrams must be started. In case there's an error with dot, it should not report anything - def scaladocSettings = "-diagrams -implicits" - - 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._ - - val base = rootPackage._package("scala")._package("test")._package("scaladoc")._package("diagrams") - val E = base._class("E") - val diag = E.inheritanceDiagram.get - - // there must be a single this node - assert(diag.nodes.filter(_.isThisNode).length == 1) - - // 1. check class E diagram - assert(diag.isClassDiagram) - - val (incoming, outgoing) = diag.edges.partition(!_._1.isThisNode) - assert(incoming.length == 5) - assert(outgoing.head._2.length == 4) - - val (outgoingSuperclass, outgoingImplicit) = outgoing.head._2.partition(_.isNormalNode) - assert(outgoingSuperclass.length == 3) - assert(outgoingImplicit.length == 1) - - val (incomingSubclass, incomingImplicit) = incoming.partition(_._1.isNormalNode) - assert(incomingSubclass.length == 2) - assert(incomingImplicit.length == 3) - - val classDiag = diag.asInstanceOf[ClassDiagram] - assert(classDiag.incomingImplicits.length == 3) - assert(classDiag.outgoingImplicits.length == 1) - - // 2. check package diagram - // NOTE: Z should be eliminated because it's isolated - val packDiag = base.contentDiagram.get - assert(packDiag.isPackageDiagram) - assert(packDiag.nodes.length == 8) // check singular object removal - assert(packDiag.edges.length == 4) - assert(packDiag.edges.foldLeft(0)(_ + _._2.length) == 6) - - // TODO: Should check numbering - } -}
\ No newline at end of file |