From: Jan P. <jp...@us...> - 2006-12-03 12:36:17
|
Update of /cvsroot/e-p-i-c/org.epic.perleditor-test/src/org/epic/debug/varparser In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv18953/src/org/epic/debug/varparser Added Files: TestTokenVarParser.java DebugTargetStub.java Log Message: Added some unit tests for TokenVarParser. --- NEW FILE: DebugTargetStub.java --- package org.epic.debug.varparser; import org.eclipse.core.resources.IMarkerDelta; import org.eclipse.debug.core.DebugException; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.model.*; class DebugTargetStub implements IDebugTarget { public IProcess getProcess() { return null; } public IThread[] getThreads() throws DebugException { return null; } public boolean hasThreads() throws DebugException { return false; } public String getName() throws DebugException { return "DebugTargetStub"; } public boolean supportsBreakpoint(IBreakpoint breakpoint) { return false; } public String getModelIdentifier() { return "org.epic.debug"; } public IDebugTarget getDebugTarget() { return null; } public ILaunch getLaunch() { return null; } public Object getAdapter(Class adapter) { return null; } public boolean canTerminate() { return false; } public boolean isTerminated() { return false; } public void terminate() throws DebugException { } public boolean canResume() { return false; } public boolean canSuspend() { return false; } public boolean isSuspended() { return false; } public void resume() throws DebugException { } public void suspend() throws DebugException { } public void breakpointAdded(IBreakpoint breakpoint) { } public void breakpointRemoved(IBreakpoint breakpoint, IMarkerDelta delta) { } public void breakpointChanged(IBreakpoint breakpoint, IMarkerDelta delta) { } public boolean canDisconnect() { return false; } public void disconnect() throws DebugException { } public boolean isDisconnected() { return false; } public boolean supportsStorageRetrieval() { return false; } public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException { return null; } } --- NEW FILE: TestTokenVarParser.java --- package org.epic.debug.varparser; import java.io.PrintWriter; import java.io.StringWriter; import java.util.Iterator; import java.util.List; import org.eclipse.debug.core.model.IVariable; import org.epic.perl.editor.test.BaseTestCase; import org.epic.perl.editor.test.Log; public class TestTokenVarParser extends BaseTestCase { public void testAll() throws Exception { assertOk("test.in/TestTokenVarParser1.txt"); assertOk("test.in/TestTokenVarParser2.txt"); assertOk("test.in/TestTokenVarParser3.txt"); } private void dumpVar(PerlDebugVar var, int indent, PrintWriter pw) throws Exception { for (int i = 0; i < indent; i++) pw.print(' '); pw.println(var.toString()); if (var.getPdValue().hasVariables()) { IVariable[] vars = var.getPdValue().getVariables(); for (int i = 0; i < vars.length; i++) dumpVar((PerlDebugVar) vars[i], indent+1, pw); } } private void assertOk(String inputFile) throws Exception { DebugTargetStub targetStub = new DebugTargetStub(); TokenVarParser p = new TokenVarParser(targetStub, new Log()); List vars = p.parseVars( readFile(inputFile), PerlDebugVar.LOCAL_SCOPE); StringWriter actual = new StringWriter(); PrintWriter pw = new PrintWriter(actual); for (Iterator i = vars.iterator(); i.hasNext();) { dumpVar((PerlDebugVar) i.next(), 0, pw); } pw.close(); //System.err.println(actual); String expected = readFile(inputFile.substring(0, inputFile.length()-4) + "-expected.txt"); assertEquals(expected, actual.toString()); } } |