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 }