1 19 20 package org.netbeans.modules.xml.api.model; 21 22 import java.net.URL ; 23 import java.util.ArrayList ; 24 import java.util.Arrays ; 25 import java.util.Enumeration ; 26 import java.util.List ; 27 import junit.framework.*; 28 import org.netbeans.ProxyClassLoader; 29 import org.openide.filesystems.FileSystem; 30 import org.openide.filesystems.Repository; 31 import org.openide.filesystems.XMLFileSystem; 32 import org.openide.util.Lookup; 33 import org.xml.sax.InputSource ; 34 35 44 public class GrammarQueryManagerTest extends TestCase { 45 46 public GrammarQueryManagerTest(java.lang.String testName) { 47 super(testName); 48 } 49 50 51 public void testGetDefault() throws Exception { 52 System.out.println("testGetDefault"); 53 54 FileSystem def = Repository.getDefault().getDefaultFileSystem(); 55 org.netbeans.core.projects.SystemFileSystem system = 56 (org.netbeans.core.projects.SystemFileSystem) def; 57 FileSystem[] original = system.getLayers(); 58 ProxyClassLoader testLoader = new ProxyClassLoader( 59 new ClassLoader [] {SampleGrammarQueryManager.class.getClassLoader()} 60 ); 61 62 try { 63 64 66 URL source = getClass().getResource("data/filesystem.xml"); 67 XMLFileSystem xmlfs = new XMLFileSystem(source); 68 List layers = new ArrayList (Arrays.asList(original)); 69 layers.add(xmlfs); 70 FileSystem[] fss = (FileSystem[]) layers.toArray(new FileSystem[0]); 71 system.setLayers(fss); 72 73 75 ClassLoader loader = (ClassLoader ) Lookup.getDefault().lookup(ClassLoader .class); 76 ProxyClassLoader systemLoader = (ProxyClassLoader) loader; 77 systemLoader.append(new ClassLoader [] {testLoader}); 78 79 81 GrammarQueryManager manager = GrammarQueryManager.getDefault(); 82 GrammarEnvironment env = new GrammarEnvironment(org.openide.util.Enumerations.empty(), new InputSource (), null); 83 Enumeration trigger = manager.enabled(env); 84 assertTrue("No grammar found!", trigger!=null); 85 } finally { 86 87 89 system.setLayers(original); 90 91 testLoader.destroy(); 92 } 93 } 94 95 } 96 | Popular Tags |