1 package org.apache.harmony.security.tests.java.security;
3 import dalvik.annotation.TestLevel;
4 import dalvik.annotation.TestTargetClass;
5 import dalvik.annotation.TestTargetNew;
7 import junit.framework.TestCase;
9 import java.security.AccessController;
10 import java.security.PrivilegedAction;
12 @TestTargetClass(PrivilegedAction.class)
13 public class PrivilegedActionTest extends TestCase {
15 protected void setUp() throws Exception {
19 private class MyPrivilegedAction implements PrivilegedAction<String> {
21 private boolean called=false;
28 private class MyPrivilegedAction2 implements PrivilegedAction<String> {
30 private boolean called=false;
33 throw new RuntimeException("fail");
39 level=TestLevel.COMPLETE,
42 public void testRun() {
43 MyPrivilegedAction action = new MyPrivilegedAction();
44 String result = AccessController.doPrivileged(action);
45 assertEquals("return value not correct", "ok", result);
46 assertTrue("run method was not called", action.called);
48 MyPrivilegedAction2 action2 = new MyPrivilegedAction2();
52 result = AccessController.doPrivileged(action2);
53 fail("exception expected");
54 } catch (RuntimeException e) {