1 19 20 package org.netbeans.core.lookup; 21 22 import org.netbeans.junit.*; 23 import junit.textui.TestRunner; 24 25 import java.io.File ; 26 import org.netbeans.Module; 27 import org.netbeans.ModuleManager; 28 import org.netbeans.core.NbTopManager; 29 import org.netbeans.core.startup.ModuleHistory; 30 import org.openide.util.Lookup; 31 import javax.swing.Action ; 32 import java.util.Iterator ; 33 import org.openide.loaders.DataObject; 34 import org.openide.filesystems.FileObject; 35 import org.openide.filesystems.Repository; 36 import org.openide.util.Mutex; 37 import org.openide.cookies.InstanceCookie; 38 import org.openide.util.MutexException; 39 import org.openide.util.LookupListener; 40 import org.openide.util.LookupEvent; 41 42 46 public class InstanceDataObjectModuleTest3 extends InstanceDataObjectModuleTestHid { 47 48 public InstanceDataObjectModuleTest3(String name) { 49 super(name); 50 } 51 52 public static void main(String [] args) { 53 TestRunner.run(new NbTestSuite(InstanceDataObjectModuleTest3.class)); 56 } 57 58 public void testReloadChangesInstance() throws Exception { 59 twiddle(m1, TWIDDLE_ENABLE); 60 try { 61 DataObject obj1 = findIt("Services/Misc/inst-1.instance"); 62 InstanceCookie inst1 = (InstanceCookie)obj1.getCookie(InstanceCookie.class); 63 assertNotNull("Had an instance", inst1); 64 Action a1 = (Action )inst1.instanceCreate(); 65 twiddle(m1, TWIDDLE_RELOAD); 66 Thread.sleep(2000); 68 DataObject obj2 = findIt("Services/Misc/inst-1.instance"); 69 InstanceCookie inst2 = (InstanceCookie)obj2.getCookie(InstanceCookie.class); 71 assertNotNull("Had an instance", inst2); 72 assertTrue("InstanceCookie changed", inst1 != inst2); 73 Action a2 = (Action )inst2.instanceCreate(); 74 assertTrue("Action changed", a1 != a2); 75 assertTrue("Correct action", "SomeAction".equals(a2.getValue(Action.NAME))); 76 assertTrue("Old obj invalid or has no instance", 77 !obj1.isValid() || obj1.getCookie(InstanceCookie.class) == null); 78 } finally { 79 twiddle(m1, TWIDDLE_DISABLE); 80 } 81 } 82 83 } 84 | Popular Tags |