X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.xdebug.test/src/net/sourceforge/phpeclipse/xdebug/php/launching/PHPSourceLookupParticipantTest.java b/net.sourceforge.phpeclipse.xdebug.test/src/net/sourceforge/phpeclipse/xdebug/php/launching/PHPSourceLookupParticipantTest.java index 2501476..e0bf427 100644 --- a/net.sourceforge.phpeclipse.xdebug.test/src/net/sourceforge/phpeclipse/xdebug/php/launching/PHPSourceLookupParticipantTest.java +++ b/net.sourceforge.phpeclipse.xdebug.test/src/net/sourceforge/phpeclipse/xdebug/php/launching/PHPSourceLookupParticipantTest.java @@ -1,14 +1,91 @@ package net.sourceforge.phpeclipse.xdebug.php.launching; -import org.eclipse.core.runtime.CoreException; +import java.util.ArrayList; +import java.util.List; import junit.framework.TestCase; +import net.sourceforge.phpeclipse.xdebug.php.model.XDebugStackFrame; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; +import org.eclipse.ui.PlatformUI; public class PHPSourceLookupParticipantTest extends TestCase { public void testFindSourceElementsObject() throws CoreException { PHPSourceLookupParticipant psp = new PHPSourceLookupParticipant(); - psp.findSourceElements(new Object()); + Object[] findSourceElements = psp.findSourceElements(new Object()); + assertTrue("array should be empty", findSourceElements.length == 0); + } + + public void testFindSourceElementsObject_WithNull() throws CoreException { + PHPSourceLookupParticipant psp = new PHPSourceLookupParticipant(); + Object[] findSourceElements = psp.findSourceElements(null); + assertTrue("array should be empty", findSourceElements.length == 0); + } + + public void testFindSourceElementsObject_WithXdebugStackFrame() + throws CoreException { + PHPSourceLookupParticipant psp = new PHPSourceLookupParticipant(); + XDebugStackFrame frame = new MockXDebugStackFrame(); + Object[] findSourceElements = psp.findSourceElements(frame); + assertTrue("array should be empty", findSourceElements.length == 0); + } + + class MockXDebugStackFrame extends XDebugStackFrame { + public MockXDebugStackFrame() { + super(null, 0); + } + } + + public void testFindSourceElementsObject_TestPippo() throws CoreException { + PHPSourceLookupParticipant psp = new PHPSourceLookupParticipant(); + XDebugStackFrame frame = new PippoXDebugStackFrame(); + Object[] findSourceElements = psp.findSourceElements(frame); + assertEquals(1, findSourceElements.length); + assertEquals("pippo", findSourceElements[0]); + } + + class PippoXDebugStackFrame extends XDebugStackFrame { + public PippoXDebugStackFrame() { + super(null, 0); + } + + public String getType() { + return "eval"; + } + + public String getSourceName() { + return ""; + } + } + + public void testGetSourceName() throws CoreException { + PHPSourceLookupParticipant psp = new PHPSourceLookupParticipant(); + psp.getSourceName(null); + } + + public void testAddMatching_withNull() { + PHPSourceLookupParticipant.addMatching(null, null, null); + } + + public void testAddMatching_updatesList() { + // setup + List l = new ArrayList(); + + Object o1 = new Object(); + Object o2 = new Object(); + Object[] os = new Object[] { o1, o2 }; + + IPath p = new Path("/some/path"); + + // test + PHPSourceLookupParticipant.addMatching(l, p, os); + assertTrue(l.isEmpty()); } + }