View Javadoc

1   package com.atlassian.sal.core.executor;
2   
3   import com.atlassian.sal.api.executor.ThreadLocalContext;
4   import com.atlassian.sal.api.executor.ThreadLocalContextManager;
5   import junit.framework.TestCase;
6   
7   public class TestThreadLocalDelegateRunnable extends TestCase
8   {
9       public void testRun() throws InterruptedException
10      {
11          final ThreadLocalContextManager<ThreadLocalContext> manager = new StubThreadLocalContextManager();
12          Runnable delegate = new Runnable()
13          {
14              public void run()
15              {
16                  assertNotNull(manager.getThreadLocalContext());
17              }
18          };
19  
20          manager.setThreadLocalContext(new StubThreadLocalContextManager.Context());
21          Thread t = new Thread(new ThreadLocalDelegateRunnable<ThreadLocalContext>(manager, delegate));
22          t.start();
23          t.join(10000);
24          assertNotNull(manager.getThreadLocalContext());
25      }
26  }