summaryrefslogtreecommitdiff
path: root/test/scaladoc/run/diagrams-filtering.scala
diff options
context:
space:
mode:
authorVlad Ureche <vlad.ureche@gmail.com>2012-06-18 13:19:42 +0200
committerVlad Ureche <vlad.ureche@gmail.com>2012-06-18 13:19:42 +0200
commit6167ec678e8fceaacc51e6d8c496ebbc8c8485af (patch)
tree1f4605837ba3309a9cad18eaba49d1a628b41791 /test/scaladoc/run/diagrams-filtering.scala
parent55348f7a44f1ac52232bcceedce8d0e9c036f8d8 (diff)
downloadscala-6167ec678e8fceaacc51e6d8c496ebbc8c8485af.tar.gz
scala-6167ec678e8fceaacc51e6d8c496ebbc8c8485af.tar.bz2
scala-6167ec678e8fceaacc51e6d8c496ebbc8c8485af.zip
Revert "Scaladoc class diagrams part 1"
This reverts commit 831f09bb6d00c152bd8aef3ce8bf9e200080fe36.
Diffstat (limited to 'test/scaladoc/run/diagrams-filtering.scala')
-rw-r--r--test/scaladoc/run/diagrams-filtering.scala93
1 files changed, 0 insertions, 93 deletions
diff --git a/test/scaladoc/run/diagrams-filtering.scala b/test/scaladoc/run/diagrams-filtering.scala
deleted file mode 100644
index dfde5cac52..0000000000
--- a/test/scaladoc/run/diagrams-filtering.scala
+++ /dev/null
@@ -1,93 +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
-
- /** @contentDiagram hideNodes "scala.test.*.A" "java.*", hideEdges ("*G" -> "*E") */
- package object diagrams {
- def foo = 4
- }
-
- package diagrams {
- import language.implicitConversions
-
- /** @inheritanceDiagram hideIncomingImplicits, hideNodes "*E" */
- trait A
- trait AA extends A
- trait B
- trait AAA extends B
-
- /** @inheritanceDiagram hideDiagram */
- trait C
- trait AAAA extends C
-
- /** @inheritanceDiagram hideEdges("*E" -> "*A") */
- class E extends A with B with C
- class F extends E
- /** @inheritanceDiagram hideNodes "*G" "G" */
- 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 }
- object E {
- implicit def eToT(e: E) = new T
- implicit def eToA(e: E) = new A { }
- }
- }
- """
-
- // 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._
-
- // base package
- // Assert we have 7 nodes and 6 edges
- val base = rootPackage._package("scala")._package("test")._package("scaladoc")._package("diagrams")
- val packDiag = base.contentDiagram.get
- assert(packDiag.nodes.length == 6)
- assert(packDiag.edges.map(_._2.length).sum == 5)
-
- // trait A
- // Assert we have just 2 nodes and 1 edge
- val A = base._trait("A")
- val ADiag = A.inheritanceDiagram.get
- assert(ADiag.nodes.length == 2)
- assert(ADiag.edges.map(_._2.length).sum == 1)
-
- // trait C
- val C = base._trait("C")
- assert(!C.inheritanceDiagram.isDefined)
-
- // trait G
- val G = base._trait("G")
- assert(!G.inheritanceDiagram.isDefined)
-
- // trait E
- val E = base._class("E")
- val EDiag = E.inheritanceDiagram.get
-
- // there must be a single this node
- assert(EDiag.nodes.filter(_.isThisNode).length == 1)
-
- // 1. check class E diagram
- val (incoming, outgoing) = EDiag.edges.partition(!_._1.isThisNode)
- assert(incoming.length == 2) // F and G
- assert(outgoing.head._2.length == 3) // B, C and T
-
- val (outgoingSuperclass, outgoingImplicit) = outgoing.head._2.partition(_.isNormalNode)
- assert(outgoingSuperclass.length == 2) // B and C
- assert(outgoingImplicit.length == 1) // T
-
- val (incomingSubclass, incomingImplicit) = incoming.partition(_._1.isNormalNode)
- assert(incomingSubclass.length == 2) // F and G
- assert(incomingImplicit.length == 0)
-
- assert(EDiag.nodes.length == 6) // E, B and C, F and G and the implicit conversion to T
- }
-} \ No newline at end of file