/**
* 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 13/08/2005
*/
package org.python.pydev.editor.codecompletion.revisited.jython;
import java.io.IOException;
import org.eclipse.jface.text.BadLocationException;
import org.python.pydev.editor.codecompletion.revisited.modules.CompiledModule;
import org.python.pydev.editor.codecompletion.shell.AbstractShell;
import org.python.pydev.editor.codecompletion.shell.JythonShell;
public class JythonCompletionWithBuiltinsTestWorkbench extends AbstractJythonWorkbenchTests {
private static JythonShell shell;
public static void main(String[] args) {
try {
JythonCompletionWithBuiltinsTestWorkbench test = new JythonCompletionWithBuiltinsTestWorkbench();
test.setUp();
test.testPropertiesAccess();
test.tearDown();
junit.textui.TestRunner.run(JythonCompletionWithBuiltinsTestWorkbench.class);
} catch (Exception e) {
e.printStackTrace();
}
}
/*
* @see TestCase#setUp()
*/
public void setUp() throws Exception {
super.setUp();
//we don't want to start it more than once
if (shell == null) {
shell = new JythonShell();
}
AbstractShell.putServerShell(nature, AbstractShell.COMPLETION_SHELL, shell);
}
/*
* @see TestCase#tearDown()
*/
public void tearDown() throws Exception {
CompiledModule.COMPILED_MODULES_ENABLED = false;
super.tearDown();
AbstractShell.putServerShell(nature, AbstractShell.COMPLETION_SHELL, null);
}
public void testCompleteImportBuiltin2() throws BadLocationException, IOException, Exception {
String s;
s = "from java.lang import Class\n" +
"Class.";
requestCompl(s, s.length(), -1, new String[] { "forName(string)" });
}
public void testCompleteImportBuiltin() throws BadLocationException, IOException, Exception {
String s;
s = "from java import ";
requestCompl(s, s.length(), -1, new String[] { "lang", "math", "util" });
}
/**
* Test related to: http://sourceforge.net/tracker/index.php?func=detail&aid=1560823&group_id=85796&atid=577329
*/
public void testStaticAccess() throws BadLocationException, IOException, Exception {
String s;
s = "" +
"from javax import swing \n" +
"print swing.JFrame.";
requestCompl(s, s.length(), -1, new String[] { "EXIT_ON_CLOSE" });
}
/**
* Test related to https://sourceforge.net/tracker/?func=detail&atid=577329&aid=2723131&group_id=85796
*/
public void testPropertiesAccess() throws Exception {
String s;
s = "" +
"from java.lang.Boolean import TYPE\n" +
"TYPE.";
requestCompl(s, s.length(), -1, new String[] { "fields" });
}
}