1 19 20 package org.netbeans.modules.ant.debugger; 21 22 import java.io.File ; 23 import org.apache.tools.ant.module.api.AntProjectCookie; 24 import org.apache.tools.ant.module.api.AntTargetExecutor; 25 import org.apache.tools.ant.module.api.support.ActionUtils; 26 import org.netbeans.junit.NbTestCase; 27 import org.openide.execution.ExecutorTask; 28 import org.openide.filesystems.FileObject; 29 import org.openide.filesystems.FileUtil; 30 import org.openide.modules.InstalledFileLocator; 31 import org.openide.util.Lookup; 32 import org.openide.util.lookup.Lookups; 33 import org.openide.util.lookup.ProxyLookup; 34 35 36 37 42 public class StepTest extends NbTestCase { 43 44 static { 45 System.setProperty ("org.openide.util.Lookup", Lkp.class.getName ()); 46 } 47 48 private String sourceRoot = System.getProperty ("debuggerant.dir"); 49 50 public StepTest (String s) { 51 super (s); 52 } 53 54 public void testStepOver () throws Exception { 55 File file = new File (sourceRoot + "build.xml"); 56 DebuggerAntLogger.getDefault ().debugFile (file); 57 FileObject fileObject = FileUtil.toFileObject (file); 58 ActionUtils.runTarget ( 59 fileObject, 60 new String [] {"run"}, 61 null 62 ); 63 } 64 65 public static final class Lkp extends ProxyLookup { 66 public Lkp() { 67 try { 68 setLookups(new Lookup[] { 69 Lookups.fixed(new Object [] { 70 new IFL(), 71 Class.forName("org.netbeans.modules.masterfs.MasterURLMapper").newInstance(), 72 new DebuggerAntLogger () 73 }), 74 }); 75 } catch (Exception e) { 76 e.printStackTrace(); 77 } 78 } 79 } 80 81 private static final class IFL extends InstalledFileLocator { 82 public IFL() {} 83 public File locate(String relativePath, String codeNameBase, boolean localized) { 84 if (relativePath.equals("ant/nblib/bridge.jar")) { 85 String path = System.getProperty("test.bridge.jar"); 86 assertNotNull("must set test.bridge.jar", path); 87 return new File (path); 88 } else if (relativePath.equals("ant")) { 89 String path = System.getProperty("test.ant.home"); 90 assertNotNull("must set test.ant.home", path); 91 return new File (path); 92 } else if (relativePath.startsWith("ant/")) { 93 String path = System.getProperty("test.ant.home"); 94 assertNotNull("must set test.ant.home", path); 95 return new File (path, relativePath.substring(4).replace('/', File.separatorChar)); 96 } else { 97 return null; 98 } 99 } 100 } 101 } 102 | Popular Tags |