1 19 20 package org.netbeans.modules.xml.text.test; 21 22 import org.netbeans.junit.NbTestCase; 23 import org.openide.filesystems.Repository; 24 import org.openide.util.Lookup; 25 import org.openide.util.lookup.AbstractLookup; 26 import org.openide.util.lookup.InstanceContent; 27 import org.openide.util.lookup.Lookups; 28 import org.openide.util.lookup.ProxyLookup; 29 30 35 public class TestBase extends NbTestCase { 36 37 static { 38 System.setProperty("org.openide.util.Lookup", Lkp.class.getName()); 39 assertEquals("Unable to set the default lookup!", Lkp.class, Lookup.getDefault().getClass()); 40 41 ((Lkp)Lookup.getDefault()).addFixed(new RepositoryImpl()); 42 assertEquals("The default Repository is not our repository!", RepositoryImpl.class, Lookup.getDefault().lookup(Repository.class).getClass()); 43 } 44 45 public static void setLookup(Object [] instance) { 46 ((Lkp)Lookup.getDefault()).setLookup(instance); 47 } 48 49 public TestBase(String name) { 50 super(name); 51 } 52 53 public static final class Lkp extends ProxyLookup { 54 55 private InstanceContent fixed = new InstanceContent(); 56 private Lookup fixedLookup = new AbstractLookup(fixed); 57 58 public Lkp() { 59 setLookup(new Object [0]); 60 } 61 62 void setLookup(Object [] instances) { 63 ClassLoader l = TestBase.class.getClassLoader(); 64 setLookups(new Lookup[] { 65 Lookups.metaInfServices(l), 66 Lookups.singleton(l), 67 fixedLookup, 68 Lookups.fixed(instances), 69 }); 70 } 71 72 void addFixed(Object instance) { 73 fixed.add(instance); 74 } 75 } 76 } 77 | Popular Tags |