/** * 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. */ /* * Created on Sep 17, 2006 * @author Fabio */ package org.python.pydev.editor.codecompletion; import java.io.File; import org.python.pydev.core.TestDependent; import org.python.pydev.editor.codecompletion.revisited.CodeCompletionTestsBase; import org.python.pydev.editor.codecompletion.revisited.modules.CompiledModule; public class PythonCompletion25Test extends CodeCompletionTestsBase { public static void main(String[] args) { try { // DEBUG_TESTS_BASE = true; PythonCompletion25Test test = new PythonCompletion25Test(); test.setUp(); test.testNewRelativeFromOtherModule(); test.tearDown(); System.out.println("Finished"); junit.textui.TestRunner.run(PythonCompletion25Test.class); } catch (Exception e) { e.printStackTrace(); } catch (Error e) { e.printStackTrace(); } } /* * @see TestCase#setUp() */ public void setUp() throws Exception { super.setUp(); CompiledModule.COMPILED_MODULES_ENABLED = false; this.restorePythonPath(false); codeCompletion = new PyCodeCompletion(); } /* * @see TestCase#tearDown() */ public void tearDown() throws Exception { CompiledModule.COMPILED_MODULES_ENABLED = true; super.tearDown(); } //changed... returns all but testcase public String[] getTestLibUnittestTokens() { return new String[] { "__file__", "__name__", "__init__", "__path__", "__dict__", "anothertest", "AnotherTest", "GUITest", "guitestcase", "main", "relative", "t", "TestCase", "TestCaseAlias" }; } public void testNewRelativeFromOtherModule() throws Exception { String doc = "" + "from .file1 import imp1\n" + "imp1."; File file = new File(TestDependent.TEST_PYDEV_PLUGIN_LOC + "tests/pysrc/extendable/newimport/sub1/file2.py"); String[] toks = new String[] { "__file__", "__name__", "__dict__", "Imp1" }; requestCompl(file, doc, doc.length(), toks.length, toks); } public void testNewRelativeFromOtherModule2() throws Exception { String doc = "" + "from .. import imp1\n" + "imp1."; File file = new File(TestDependent.TEST_PYDEV_PLUGIN_LOC + "tests/pysrc/extendable/newimport/sub1/file1.py"); String[] toks = new String[] { "__file__", "__name__", "__dict__", "Imp1" }; requestCompl(file, doc, doc.length(), toks.length, toks); } public void testNewRelativeImport2() throws Exception { //considering we're at: testlib.unittest.testcase String doc = "from . import "; File file = new File(TestDependent.TEST_PYDEV_PLUGIN_LOC + "tests/pysrc/testlib/unittest/testcase.py"); String[] toks = getTestLibUnittestTokens(); requestCompl(file, doc, doc.length(), toks.length, toks); } public void testNewRelativeImport2a() throws Exception { //considering we're at: testlib.unittest.testcase String doc = "from ."; //just show the modules File file = new File(TestDependent.TEST_PYDEV_PLUGIN_LOC + "tests/pysrc/testlib/unittest/testcase.py"); String[] toks = new String[] { "__init__", "anothertest", "guitestcase", "relative", // "relative.testrelative", // "relative.toimport", }; requestCompl(file, doc, doc.length(), toks.length, toks); } public void testNewRelativeImport3() throws Exception { //considering we're at: testlib.unittest.testcase String doc = "from .anothertest import "; File file = new File(TestDependent.TEST_PYDEV_PLUGIN_LOC + "tests/pysrc/testlib/unittest/testcase.py"); String[] toks = new String[] { "__file__", "__name__", "__dict__", "t", "AnotherTest" }; requestCompl(file, doc, doc.length(), toks.length, toks); } public void testNewRelativeImport3a() throws Exception { //considering we're at: testlib.unittest.testcase String doc = "from ..unittest.anothertest import "; File file = new File(TestDependent.TEST_PYDEV_PLUGIN_LOC + "tests/pysrc/testlib/unittest/testcase.py"); String[] toks = new String[] { "__file__", "__name__", "__dict__", "t", "AnotherTest" }; requestCompl(file, doc, doc.length(), toks.length, toks); } public void testNewRelativeImportInvalid() throws Exception { //considering we're at: testlib.unittest.testcase String doc = "from ........... import "; File file = new File(TestDependent.TEST_PYDEV_PLUGIN_LOC + "tests/pysrc/testlib/unittest/testcase.py"); String[] toks = new String[] {}; requestCompl(file, doc, doc.length(), toks.length, toks); } public void testNewRelativeImport() throws Exception { //considering we're at: testlib.unittest.testcase String doc = "from .. import "; File file = new File(TestDependent.TEST_PYDEV_PLUGIN_LOC + "tests/pysrc/testlib/unittest/testcase.py"); requestCompl(file, doc, doc.length(), -1, new String[] { "__init__", "unittest" }); } }