summaryrefslogtreecommitdiff
path: root/test/scaladoc/scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-03-31 19:26:24 +0000
committerPaul Phillips <paulp@improving.org>2011-03-31 19:26:24 +0000
commit661ce2922df999d70da29ee3910bf2dcf851eb66 (patch)
treeffb1cf041a6af20668c844d1ffd4b88f94ee6357 /test/scaladoc/scala
parentb1cb4e114f6a3291ad2fdfbd12fa91193f885941 (diff)
downloadscala-661ce2922df999d70da29ee3910bf2dcf851eb66.tar.gz
scala-661ce2922df999d70da29ee3910bf2dcf851eb66.tar.bz2
scala-661ce2922df999d70da29ee3910bf2dcf851eb66.zip
Printing refinement types in scaladoc.
one-member refinements, for bigger ones printing the number of members. Should be improved. Closes #484, no review.
Diffstat (limited to 'test/scaladoc/scala')
-rw-r--r--test/scaladoc/scala/html/HtmlFactoryTest.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/test/scaladoc/scala/html/HtmlFactoryTest.scala b/test/scaladoc/scala/html/HtmlFactoryTest.scala
index 0c9f7ff48d..738f459157 100644
--- a/test/scaladoc/scala/html/HtmlFactoryTest.scala
+++ b/test/scaladoc/scala/html/HtmlFactoryTest.scala
@@ -211,4 +211,25 @@ object Test extends Properties("HtmlFactory") {
case _ => false
}
}
+
+ property("Trac #484 - refinements and existentials") = {
+ val files = createTemplates("Trac484.scala")
+ val lines = """
+ |type Bar = AnyRef { type Dingus <: T forSome { type T <: String } }
+ |type Foo = AnyRef { ... /* 3 definitions in type refinement */ }
+ |def g (x: T forSome { type T <: String }): String
+ |def h (x: Float): AnyRef { def quux(x: Int,y: Int): Int }
+ |def hh (x: Float): AnyRef { def quux(x: Int,y: Int): Int }
+ |def j (x: Int): Bar
+ |def k (): AnyRef { type Dingus <: T forSome { type T <: String } }
+ """.stripMargin.trim.lines map (_.trim)
+
+ files("RefinementAndExistentials.html") match {
+ case node: scala.xml.Node => {
+ val s = node.text.replaceAll("\\s+", " ")
+ lines forall (s contains _)
+ }
+ case _ => false
+ }
+ }
}