summaryrefslogtreecommitdiff
path: root/test/files/run/applet-prop.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-03-17 20:04:47 +0000
committerPaul Phillips <paulp@improving.org>2011-03-17 20:04:47 +0000
commit5647d7300922a357ab849e528fcc840afc92e33a (patch)
tree8fbca8bdfecf120f2c81fd9167c35276f6c9815b /test/files/run/applet-prop.scala
parentcc672b023e872ccad0e6186d8159725dc4eb1281 (diff)
downloadscala-5647d7300922a357ab849e528fcc840afc92e33a.tar.gz
scala-5647d7300922a357ab849e528fcc840afc92e33a.tar.bz2
scala-5647d7300922a357ab849e528fcc840afc92e33a.zip
Always forget that checking system properties c...
Always forget that checking system properties causes exceptions in applets and such. Made the system property wrapper wrap its access checks in some more wrapping. I spent a long time trying to write a test for the security manager but it's hopeless without knowing all the details of the test environment. Closes #4346, no review.
Diffstat (limited to 'test/files/run/applet-prop.scala')
-rw-r--r--test/files/run/applet-prop.scala40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/files/run/applet-prop.scala b/test/files/run/applet-prop.scala
new file mode 100644
index 0000000000..fb112bf7d5
--- /dev/null
+++ b/test/files/run/applet-prop.scala
@@ -0,0 +1,40 @@
+import scala.tools.partest._
+import java.util.PropertyPermission
+import java.security.AccessControlException
+
+class S extends javax.swing.JApplet {
+ scala.collection.Traversable
+}
+
+object Test extends SecurityTest {
+ val s = new S
+ // lazy val TestKey = sys.SystemProperties.noTraceSupression.key
+ // def hitPerm() = new Throwable with scala.util.control.ControlThrowable { }
+ //
+ // var throwing = false
+ // override def propertyCheck(p: PropertyPermission): Unit = {
+ // if (p.getName == TestKey) {
+ // println("I see " + p.getName)
+ // if (throwing)
+ // throwIt(p)
+ // }
+ // }
+ //
+ // hitPerm()
+ // securityOn()
+ // hitPerm()
+ //
+ // throwing = true
+ //
+ // val caught =
+ // try { hitPerm() ; false }
+ // catch { case _: AccessControlException => true }
+ //
+ // assert(caught, "Should have incurred exception.")
+ // throwing = false
+ // hitPerm()
+ //
+ // val xs = new Traversable[Int] { def foreach[U](f: Int => U) = 1 to 3 foreach f }
+ // xs foreach println
+}
+