diff options
author | Paul Phillips <paulp@improving.org> | 2011-08-24 17:11:55 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-08-24 17:11:55 +0000 |
commit | b9785280a7138a2bb52060faf94807aa0d07dec1 (patch) | |
tree | 870cc1930ac3d50cd07078260f58984224dd39a5 /test/pending/run/t2318.scala | |
parent | 84fcf633d9ca507124806d64729cb8463bcebb69 (diff) | |
download | scala-b9785280a7138a2bb52060faf94807aa0d07dec1.tar.gz scala-b9785280a7138a2bb52060faf94807aa0d07dec1.tar.bz2 scala-b9785280a7138a2bb52060faf94807aa0d07dec1.zip |
Renamed tests named bugXXX to tXXX, no review.
Diffstat (limited to 'test/pending/run/t2318.scala')
-rw-r--r-- | test/pending/run/t2318.scala | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/test/pending/run/t2318.scala b/test/pending/run/t2318.scala new file mode 100644 index 0000000000..7bb666706f --- /dev/null +++ b/test/pending/run/t2318.scala @@ -0,0 +1,38 @@ +import java.security._ + +object Test { + trait Bar { def bar: Unit } + + object Mgr extends SecurityManager { + override def checkPermission(perm: Permission) = perm match { + case _: java.lang.RuntimePermission => () + case _: java.io.FilePermission => () + case x: java.security.AccessControlException if x.getName contains ".networkaddress." => () // generality ftw + case _ => super.checkPermission(perm) + } + } + + def t1() = { + val p = Runtime.getRuntime().exec("ls"); + type Destroyable = { def destroy() : Unit } + def doDestroy( obj : Destroyable ) : Unit = obj.destroy(); + doDestroy( p ); + } + def t2() = { + System.setSecurityManager(Mgr) + + val b = new Bar { def bar = println("bar") } + b.bar + + val structural = b.asInstanceOf[{ def bar: Unit }] + structural.bar + } + + def main(args: Array[String]) { + // figuring this will otherwise break on windows + try t1() + catch { case _: java.io.IOException => () } + + t2() + } +} |