1 19 20 package org.netbeans.modules.masterfs; 21 22 import java.io.File ; 23 import junit.framework.*; 24 import org.netbeans.api.queries.SharabilityQuery; 25 import org.netbeans.spi.queries.SharabilityQueryImplementation; 26 import org.netbeans.spi.queries.VisibilityQueryImplementation; 27 import org.openide.util.Lookup; 28 import org.openide.util.lookup.AbstractLookup; 29 import org.openide.util.lookup.InstanceContent; 30 import org.openide.util.lookup.ProxyLookup; 31 32 36 public class GlobalSharabilityQueryImplTest extends TestCase { 37 private static SharabilityQueryImplementation sq = new GlobalSharabilityQueryImpl(); 38 private static GlobalVisibilityQueryImpl vq = new GlobalVisibilityQueryImpl() { 39 protected String getIgnoredFiles() { 40 return "^(CVS|SCCS|vssver\\.scc|#.*#|%.*%|\\.(cvsignore|svn|DS_Store)|_svn)$|~$|^\\..*$"; } 42 }; 43 44 static { 45 System.setProperty("org.openide.util.Lookup", GlobalSharabilityQueryImplTest.TestLookup.class.getName()); 46 } 47 48 public GlobalSharabilityQueryImplTest(String testName) { 49 super(testName); 50 } 51 52 public static Test suite() { 53 return new TestSuite(GlobalSharabilityQueryImplTest.class); 54 } 55 56 59 public void testGetSharability() { 60 File [] all = new File [] { 61 new File ("/myroot/mydirectory/myfile.java"), 62 new File ("/myroot/mydirectory/myfile.class"), 63 new File ("/myroot/mydirectory/myfile.xml"), 64 new File ("/myroot/mydirectory/.cvsignore"), 65 new File ("/myroot/mydirectory/CVS"), 66 new File ("/myroot/mydirectory/.DS_Store"), 67 new File ("/myroot/mydirectory/.svn"), 68 new File ("/myroot/mydirectory/_svn") 69 }; 70 71 for (int i = 0; i < all.length; i++) { 72 boolean isNotSharable = sq.getSharability(all[i]) == SharabilityQuery.NOT_SHARABLE; 73 boolean isNotVisible = !vq.isVisible(all[i].getName()); 74 assertEquals(isNotSharable, isNotVisible); 75 } 76 } 77 78 public static class TestLookup extends ProxyLookup { 79 public TestLookup() { 80 super(); 81 setLookups(new Lookup[] {getInstanceLookup()}); 82 } 83 84 private Lookup getInstanceLookup() { 85 InstanceContent instanceContent = new InstanceContent(); 86 instanceContent.add(sq); 87 instanceContent.add(vq); 88 Lookup instanceLookup = new AbstractLookup(instanceContent); 89 return instanceLookup; 90 } 91 } 92 } 93 | Popular Tags |