/** * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Eclipse Public License (EPL). * Please see the license.txt included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package org.python.pydev.debug.ui; import java.io.File; import org.eclipse.core.runtime.IPath; import org.eclipse.ui.IEditorInput; import org.python.pydev.editor.codecompletion.revisited.javaintegration.AbstractWorkbenchTestCase; import org.python.pydev.editorinput.PySourceLocatorBase; import org.python.pydev.editorinput.PySourceLocatorPrefs; import org.python.pydev.editorinput.PydevFileEditorInput; public class SourceLocatorTestWorkbench extends AbstractWorkbenchTestCase { public void testSourceLocator() throws Exception { final Boolean[] called = new Boolean[] { false }; final IPath madeUpPath = mod1.getLocation().append("inexistent"); PySourceLocatorBase locator = new PySourceLocatorBase() { @Override protected IEditorInput selectFilesystemFileForPath(IPath path) { called[0] = true; assertEquals(path, madeUpPath); return PydevFileEditorInput.create(new File(path.removeLastSegments(1).toOSString()), true); } }; IEditorInput editorInput = locator.createEditorInput(madeUpPath); assertTrue(editorInput != null); assertTrue(called[0]); called[0] = false; editorInput = locator.createEditorInput(madeUpPath); assertTrue(!called[0]); assertTrue(editorInput != null); PySourceLocatorPrefs.setIgnorePathTranslation(madeUpPath); editorInput = locator.createEditorInput(madeUpPath); assertTrue(!called[0]); assertTrue(editorInput == null); } }