Search in sources :

Example 16 with IInfo

use of org.python.pydev.core.IInfo in project Pydev by fabioz.

the class StuctureCreationTest method testSetup.

// ------------------------------------------------------------------------------------------------- tests
public void testSetup() {
    // fails on Python >= 2.7 because unittest became a dir instead of one file.
    if (SharedCorePlugin.skipKnownFailures()) {
        return;
    }
    AbstractAdditionalTokensInfo additionalSystemInfo;
    try {
        additionalSystemInfo = AdditionalSystemInterpreterInfo.getAdditionalSystemInfo(getInterpreterManager(), getInterpreterManager().getDefaultInterpreterInfo(false).getExecutableOrJar(), true);
    } catch (MisconfigurationException e) {
        throw new RuntimeException(e);
    }
    assertTrue(additionalSystemInfo.getAllTokens().size() > 0);
    Collection<IInfo> tokensStartingWith = additionalSystemInfo.getTokensStartingWith("TestC", AbstractAdditionalTokensInfo.TOP_LEVEL);
    assertIsIn("TestCase", "unittest", tokensStartingWith);
}
Also used : IInfo(org.python.pydev.core.IInfo) MisconfigurationException(org.python.pydev.core.MisconfigurationException) AbstractAdditionalTokensInfo(com.python.pydev.analysis.additionalinfo.AbstractAdditionalTokensInfo)

Example 17 with IInfo

use of org.python.pydev.core.IInfo in project Pydev by fabioz.

the class ParameterCompletionTest method testSetup.

// ------------------------------------------------------------------------------------------------- tests
public void testSetup() throws MisconfigurationException {
    AbstractAdditionalTokensInfo additionalInfo = AdditionalProjectInterpreterInfo.getAdditionalInfoForProject(nature);
    assertTrue(additionalInfo.getAllTokens().size() > 0);
    Collection<IInfo> tokensStartingWith = additionalInfo.getTokensStartingWith("existingM", AbstractAdditionalTokensInfo.INNER);
    assertTrue(tokensStartingWith.size() == 1);
    assertIsIn("existingMethod", "testAssist.assist", tokensStartingWith);
}
Also used : IInfo(org.python.pydev.core.IInfo) AbstractAdditionalTokensInfo(com.python.pydev.analysis.additionalinfo.AbstractAdditionalTokensInfo)

Example 18 with IInfo

use of org.python.pydev.core.IInfo in project Pydev by fabioz.

the class AdditionalInterpreterInfoTest method testAddFunc.

public void testAddFunc() {
    FuncInfo info2 = new FuncInfo(((NameTok) createFuncDef("met1").name).id, "mod1", null, null, null, 0, 0);
    info.add(info2, AbstractAdditionalTokensInfo.TOP_LEVEL);
    info2 = new FuncInfo(((NameTok) createFuncDef("met2").name).id, "mod1", null, null, null, 0, 0);
    info.add(info2, AbstractAdditionalTokensInfo.TOP_LEVEL);
    info2 = new FuncInfo(((NameTok) createFuncDef("func1").name).id, "mod1", null, null, null, 0, 0);
    info.add(info2, AbstractAdditionalTokensInfo.TOP_LEVEL);
    info2 = new FuncInfo(((NameTok) createFuncDef("func2").name).id, "mod1", null, null, null, 0, 0);
    info.add(info2, AbstractAdditionalTokensInfo.TOP_LEVEL);
    Collection<IInfo> tokensStartingWith = info.getTokensStartingWith("me", AbstractAdditionalTokensInfo.TOP_LEVEL);
    assertEquals(2, tokensStartingWith.size());
    assertIsIn("met1", tokensStartingWith);
    assertIsIn("met2", tokensStartingWith);
    tokensStartingWith = info.getTokensStartingWith("func", AbstractAdditionalTokensInfo.TOP_LEVEL);
    assertEquals(2, tokensStartingWith.size());
    assertIsIn("func1", tokensStartingWith);
    assertIsIn("func2", tokensStartingWith);
    for (IInfo info : tokensStartingWith) {
        assertEquals("mod1", info.getDeclaringModuleName());
    }
}
Also used : IInfo(org.python.pydev.core.IInfo) NameTok(org.python.pydev.parser.jython.ast.NameTok)

Example 19 with IInfo

use of org.python.pydev.core.IInfo in project Pydev by fabioz.

the class AdditionalInterpreterInfoTest method testAddInner2.

public void testAddInner2() throws MisconfigurationException {
    String doc = "class Test:\n" + "    class Test2:\n" + "        def mmm(self):\n" + "            pass";
    SourceModule module = AbstractModule.createModuleFromDoc("test", null, new Document(doc), nature, true);
    info.addAstInfo(module.getAst(), module.getModulesKey(), false);
    Collection<IInfo> tokensStartingWith = null;
    tokensStartingWith = info.getTokensStartingWith("m", AbstractAdditionalTokensInfo.TOP_LEVEL | AbstractAdditionalTokensInfo.INNER);
    assertEquals(1, tokensStartingWith.size());
    assertIsIn("mmm", tokensStartingWith);
    IInfo i = tokensStartingWith.iterator().next();
    assertEquals("Test.Test2", i.getPath());
    tokensStartingWith = info.getTokensStartingWith("Test", AbstractAdditionalTokensInfo.TOP_LEVEL | AbstractAdditionalTokensInfo.INNER);
    assertEquals(2, tokensStartingWith.size());
    i = assertIsIn("Test", tokensStartingWith);
    assertEquals(null, i.getPath());
    i = assertIsIn("Test2", tokensStartingWith);
    assertEquals("Test", i.getPath());
}
Also used : IInfo(org.python.pydev.core.IInfo) SourceModule(org.python.pydev.ast.codecompletion.revisited.modules.SourceModule) Document(org.eclipse.jface.text.Document)

Example 20 with IInfo

use of org.python.pydev.core.IInfo in project Pydev by fabioz.

the class AdditionalInterpreterInfoTest method testAddInner.

public void testAddInner() throws MisconfigurationException {
    String doc = "class Test:\n" + "    def m1(self):\n" + "        pass";
    SourceModule module = AbstractModule.createModuleFromDoc("test", null, new Document(doc), nature, true);
    info.addAstInfo(module.getAst(), module.getModulesKey(), false);
    Collection<IInfo> tokensStartingWith = info.getTokensStartingWith("Tes", AbstractAdditionalTokensInfo.TOP_LEVEL | AbstractAdditionalTokensInfo.INNER);
    assertEquals(1, tokensStartingWith.size());
    assertIsIn("Test", tokensStartingWith);
    tokensStartingWith = info.getTokensStartingWith("m1", AbstractAdditionalTokensInfo.TOP_LEVEL | AbstractAdditionalTokensInfo.INNER);
    assertEquals(1, tokensStartingWith.size());
    assertIsIn("m1", tokensStartingWith);
    IInfo i = tokensStartingWith.iterator().next();
    assertEquals("Test", i.getPath());
}
Also used : IInfo(org.python.pydev.core.IInfo) SourceModule(org.python.pydev.ast.codecompletion.revisited.modules.SourceModule) Document(org.eclipse.jface.text.Document)

Aggregations

IInfo (org.python.pydev.core.IInfo)33 ArrayList (java.util.ArrayList)12 MisconfigurationException (org.python.pydev.core.MisconfigurationException)10 HashSet (java.util.HashSet)8 AbstractAdditionalTokensInfo (com.python.pydev.analysis.additionalinfo.AbstractAdditionalTokensInfo)6 Set (java.util.Set)6 FastStringBuffer (org.python.pydev.shared_core.string.FastStringBuffer)6 AdditionalSystemInterpreterInfo (com.python.pydev.analysis.additionalinfo.AdditionalSystemInterpreterInfo)5 ItemPointer (org.python.pydev.ast.item_pointer.ItemPointer)5 ICodeCompletionASTManager (org.python.pydev.core.ICodeCompletionASTManager)5 Entry (java.util.Map.Entry)4 IPythonNature (org.python.pydev.core.IPythonNature)4 Document (org.eclipse.jface.text.Document)3 CompareContext (org.python.pydev.ast.codecompletion.ProposalsComparator.CompareContext)3 SourceModule (org.python.pydev.ast.codecompletion.revisited.modules.SourceModule)3 InterpreterInfo (org.python.pydev.ast.interpreter_managers.InterpreterInfo)3 IInterpreterInfo (org.python.pydev.core.IInterpreterInfo)3 AbstractAdditionalDependencyInfo (com.python.pydev.analysis.additionalinfo.AbstractAdditionalDependencyInfo)2 AdditionalInfoAndIInfo (com.python.pydev.analysis.additionalinfo.AdditionalInfoAndIInfo)2 AdditionalProjectInterpreterInfo (com.python.pydev.analysis.additionalinfo.AdditionalProjectInterpreterInfo)2