Commit Graph
100 Commits
Author SHA1 Message Date
Takafumi Arakaki 1a5942364a Add failing tests for first part of #213 2013-05-21 17:16:40 +02:00
Takafumi Arakaki 6acf34efd3 Fix: api.defined_names was run against wrong scope
when there is only one class is defined in the module.
2013-05-19 05:08:18 +02:00
Takafumi Arakaki e011683ea4 dedent source before passing it to defined_names
test_nested_definitions fails now
2013-05-19 05:08:18 +02:00
Takafumi Arakaki 6fadfb573c Refactor TestDefinedNames 2013-05-19 05:08:18 +02:00
Takafumi Arakaki 29f74c245d Move tests for defined_names to test_defined_names.py 2013-05-19 05:08:18 +02:00
Takafumi Arakaki 200d29713e Make defined_names importable at top-level 2013-05-19 05:08:17 +02:00
Takafumi Arakaki 4bd03d0c74 Document JediRLCompleter 2013-05-19 00:52:41 +02:00
Takafumi Arakaki 3b3310ee3e Determine readline delims programmatically 2013-05-19 00:42:00 +02:00
Takafumi Arakaki 6a8a06fd0b Improve JediRLCompleter for minor cases 2013-05-19 00:42:00 +02:00
Takafumi Arakaki 0c85642e6b Add utils.JediRLCompleter 2013-05-19 00:41:58 +02:00
Takafumi Arakaki 27f8b342e1 Document utils.setup_readline 2013-05-19 00:41:48 +02:00
Takafumi Arakaki 134dab174d Setup intersphinx module for linking Python doc
For example, :mod:`readline` links to the corresponding page.
2013-05-18 23:26:13 +02:00
Takafumi Arakaki 7a8ea56b05 Document jedi.replstartup usage 2013-05-18 23:26:13 +02:00
Takafumi Arakaki ee5f96f119 Fix test failure
The bug was introduced when I merged branch 'interpreter-api' at
5f2477d5bf.
This patch redo (part of) 2846fe980b.
2013-05-18 23:25:54 +02:00
Takafumi Arakaki 5f2477d5bf Merge branch 'interpreter-api' into dev
Conflicts:
	jedi/__init__.py
	test/test_regression.py

See: #145
2013-05-18 22:28:56 +02:00
Takafumi Arakaki 3d6ef88795 Add simple PYTHONSTARTUP file 2013-05-12 08:21:55 +02:00
Takafumi Arakaki 52b3a326c4 Revert changes in jedi/modules.py in this branch 2013-05-11 22:01:48 +02:00
Takafumi Arakaki 19b3fef0c5 Remove fast option from api.Script 2013-05-11 21:59:39 +02:00
Takafumi Arakaki a870fece0f Use fast parser in api.Interpreter 2013-05-11 21:47:55 +02:00
Takafumi Arakaki 2846fe980b Remove api._quick_complete 2013-05-11 21:40:00 +02:00
Takafumi Arakaki 08f8dcfae4 Do not repeat defaults in Interpreter.__init__ 2013-05-11 21:37:53 +02:00
Takafumi Arakaki 6af2a0677d Compute default line/column/source_path in api.Script 2013-05-11 21:36:43 +02:00
Takafumi Arakaki 633f582184 Add jedi.interpret.ObjectImporter
and move scope manipulation functions in api.Interpreter to there.
2013-05-11 21:33:57 +02:00
Takafumi Arakaki 17f5b9a79d Fix test failure in Python 3.3
There is a new method introduced in Python 3.3:
http://docs.python.org/3/library/datetime.html#datetime.datetime.timestamp
2013-05-04 18:10:20 +02:00
Takafumi Arakaki 89edb73978 Fix failure due to rebase 2013-05-04 17:58:02 +02:00
Takafumi Arakaki 3d0458bca9 Export Interpreter class to top-level namespace 2013-05-04 17:50:42 +02:00
Takafumi Arakaki e8914e7856 Document api.Interpreter 2013-05-04 17:45:34 +02:00
Takafumi Arakaki 8fc396371c Respect settings.fast_parser 2013-05-04 17:44:59 +02:00
Takafumi Arakaki c2e9ccda2b Fix failing test: args for ModuleWithCursor 2013-05-04 17:44:59 +02:00
Takafumi Arakaki dc47d15de0 Use locals() for tests in TestInterpreterAPI
It is better to check that Interpreter does not fail with the
real name space.  Previously the doctest using locals() failed
because of the bug in _import_raw_namespace.
2013-05-04 17:44:59 +02:00
Takafumi Arakaki a93016db1b Python 2.5 compatibility fix 2013-05-04 17:44:59 +02:00
Takafumi Arakaki af10891096 Document api.Interpreter._genname 2013-05-04 17:44:59 +02:00
Takafumi Arakaki fc79f0e258 Support case like from os.path import join as pjoin 2013-05-04 17:44:59 +02:00
Takafumi Arakaki 6fb42e5f4b Document _import_raw_namespace more 2013-05-04 17:44:59 +02:00
Takafumi Arakaki 12ac71b1fd Document api.Interpreter 2013-05-04 17:44:59 +02:00
Takafumi Arakaki b4e3d1d65d Fix test_complete_raw_instance example
'dt.strftime("%Y").up' does not work even if with `api.Script`.
Change it to the one that can be handled by Jedi.
2013-05-04 17:44:59 +02:00
Takafumi Arakaki 45cad4c83b Fake imports should locate before fake statements 2013-05-04 17:44:59 +02:00
Takafumi Arakaki 06c03cafa2 Implement the case where raw object is an instance
There is still a bug in this implementation.
The corresponding test fails.
2013-05-04 17:44:58 +02:00
Takafumi Arakaki 11abd92d2b Support alias in _make_fakeimport 2013-05-04 17:44:58 +02:00
Takafumi Arakaki cf48d1272d Use proper interface to add fake Import object 2013-05-04 17:44:58 +02:00
Takafumi Arakaki 17770356e2 Implement the case where raw object is a module
Previously failing test_complete_raw_module is passed.
2013-05-04 17:44:58 +02:00
Takafumi Arakaki fb197c42ab Add tests for api.Interpreter (2/3 fail) 2013-05-04 17:44:58 +02:00
Takafumi Arakaki 3266aa2d00 Improve api.Interpreter docstring 2013-05-04 17:43:37 +02:00
Takafumi Arakaki 842fbfce8a Add api.Interpreter: Jedi API for Python REPLs 2013-05-04 17:43:37 +02:00
Takafumi Arakaki 944b3200a0 Fix allow_failures syntax
allow_failures.env requires a string when matrix/global is not used?
Also, indent is changed to fit with other entries.
2013-04-10 17:28:15 +02:00
Takafumi Arakaki 658bcb6421 Install coveralls only when needed 2013-04-10 17:23:50 +02:00
Takafumi Arakaki 8e4a76ca1b Allow TOXENV=cov to fail in travis-ci 2013-04-10 17:09:36 +02:00
Takafumi Arakaki af22409059 Separate tox env for coverage check 2013-04-10 17:08:20 +02:00
Takafumi Arakaki aca1cbfa4b Use "jedi/cpython-27" instead of "jedi/2.7" for FS cache 2013-03-20 16:46:55 +01:00
Takafumi Arakaki 27d007adba Compare version using "!="
Cache is not forward compatible.
2013-03-20 12:21:22 +01:00
Takafumi Arakaki 942b66ba5b Separate directory for each Python version 2013-03-20 12:21:22 +01:00
Takafumi Arakaki f8d3339f2f Remove old version of FS cache automatically 2013-03-20 12:21:22 +01:00
Takafumi Arakaki 8734e0efe2 Use cPickle if available 2013-03-19 20:33:15 +01:00
Takafumi Arakaki d1150cfdae List allowed attributes in Generator.__getattr__ 2013-03-17 13:56:54 +01:00
Takafumi Arakaki 2cc6edfa7c Fix Completion.follow_definition 2013-03-16 22:57:31 +01:00
Takafumi Arakaki 6a2e535bcb Add er.Generator.__getattr__ 2013-03-16 21:50:05 +01:00
Takafumi Arakaki c25ee531a2 AttributeError: 'Generator' object has no attribute 'start_pos'
Running py.test raises this error:
```tb
test/test_api_classes.py:50: in <module>
>   @pytest.mark.parametrize('definition', make_definitions())
test/test_api_classes.py:38: in make_definitions
>       definitions += script.definition()
jedi/api_classes.py:44: in wrapper
>       result = func(*args, **kwds)
jedi/api.py:274: in definition
>                   if not isinstance(s, imports.ImportPath._GlobalNamespace)])
jedi/api_classes.py:418: in __init__
>       super(Definition, self).__init__(definition, definition.start_pos)
E       AttributeError: 'Generator' object has no attribute 'start_pos'
```
2013-03-16 21:50:05 +01:00
Takafumi Arakaki febc65be6f Skip test_no_duplicate_modules for jedi.__init__ 2013-03-16 21:28:27 +01:00
Takafumi Arakaki 4aac06eb86 Remove tags for known failures due to the import hack 2013-03-16 21:18:37 +01:00
Takafumi Arakaki f5fee5f0df Fix wrong imports
- "from _compatibility import ..." (not in circular imports)
- "from jedi import builtin" (one of circular imports)
- "api_classes = api.api_classes"
  ("from jedi import api_classes" is not supported)
2013-03-16 21:03:34 +01:00
Takafumi Arakaki 07ba6658dd Add test_no_duplicate_modules 2013-03-16 20:44:00 +01:00
Takafumi Arakaki df08122639 Fix a failure when run with Python 3 2013-03-15 14:51:59 +01:00
Takafumi Arakaki be33f0ad98 Fix previously failing test_follow_definition 2013-03-15 14:39:51 +01:00
Takafumi Arakaki c8c1113c55 Test generator and lambda 2013-03-15 14:26:58 +01:00
Takafumi Arakaki a0c796087a Generate "param" definition in make_definitions 2013-03-15 14:24:42 +01:00
Takafumi Arakaki 956ad50276 Make more examples in make_definitions 2013-03-15 14:13:55 +01:00
Takafumi Arakaki f791e96d9d Fix failing test_basedefinition_type 2013-03-15 13:54:19 +01:00
Takafumi Arakaki 3caebcb5aa Add test_basedefinition_type 2013-03-15 13:54:17 +01:00
Takafumi Arakaki f70e425c4a Lowercase the str returned by BaseDefinition.type 2013-03-15 13:08:55 +01:00
Takafumi Arakaki 6659a532ac Remove --assert=plain 2013-03-15 00:25:10 +01:00
Takafumi Arakaki 7cf70a3f0a Do not clear cache in __del__
Prior to this change, running
`py.test --assert=rewrite test/test_integration.py` fails with errors
due to:

```py
cls = <class 'jedi.recursion.ExecutionRecursionDecorator'>

    @classmethod
    def cleanup(cls):
>       cls.parent_execution_funcs.pop()
E       IndexError: pop from empty list

recursion.py:127: IndexError
```

Similar errors occurred in travis occasionally:
- https://travis-ci.org/davidhalter/jedi/jobs/5449831
- https://travis-ci.org/davidhalter/jedi/jobs/5512538

I think this is because GC calls __del__ at random point during
actual execution of ExecutionRecursionDecorator.__call__.
As --assert=rewrite works by AST dynamically, I guess that it
is harder for Python's GC to clean up code and therefore GC
happens sometime later.  Although this is just a random guess,
as `tox -- --assert=rewrite` works with this patch now, I think
this is a good change.
2013-03-15 00:21:46 +01:00
Takafumi Arakaki 841d46684f Skip test in Python 3. It is a known bug.
See: #161
2013-03-14 22:21:58 +01:00
Takafumi Arakaki edc7148320 Fix test_modulepickling_change_cache_dir failure 2013-03-14 22:15:34 +01:00
Takafumi Arakaki 860cf7b974 Add test_modulepickling_change_cache_dir 2013-03-14 22:15:07 +01:00
Takafumi Arakaki ee03f3ae0d Use pytest_(un)configure to setup cache_directory 2013-03-14 20:43:10 +01:00
Takafumi Arakaki 95aed3c54e Exclude docs directory from test search 2013-03-14 19:20:20 +01:00
Takafumi Arakaki 3881f8d6ed Do not collect setup.py as a test 2013-03-14 14:31:32 +01:00
Takafumi Arakaki fbccdd3f70 Run doctests in the main py.test run 2013-03-14 14:15:00 +01:00
Takafumi Arakaki 3d647d3f3d Use --quiet when installing tox 2013-03-14 10:35:20 +01:00
Takafumi Arakaki 191e8f690b Simplify .travis.yml 2013-03-14 10:33:28 +01:00
Takafumi Arakaki 7a9e374a65 Use original exception value when reraise 2013-03-13 23:54:19 +01:00
Takafumi Arakaki 93bd00bba4 Document rethrow_uncaught/reraise 2013-03-13 23:50:40 +01:00
Takafumi Arakaki 2b89dda5a6 Use reraise when re-raising MultiLevelStopIteration 2013-03-13 23:28:53 +01:00
Takafumi Arakaki 3b78b52204 Rename MultiLevelAttributeErro to UncaughtAttributeError 2013-03-13 23:24:26 +01:00
Takafumi Arakaki eca0f01cfb Use @common.rethrow_uncaught and stop manual re-raise 2013-03-13 23:21:49 +01:00
Takafumi Arakaki e42ff9e762 Add common.rethrow_uncaught 2013-03-13 23:21:15 +01:00
Takafumi Arakaki dccda224ab Hide api_classes.defined_names 2013-03-13 22:18:50 +01:00
Takafumi Arakaki 8d54ebea7b Fix BaseDefinition.module_name 2013-03-13 22:05:59 +01:00
Takafumi Arakaki 125a3b1a6b Document BaseDefinition.module_name 2013-03-13 22:05:31 +01:00
Takafumi Arakaki 2f7797f867 Ignore known failure in BaseDefinition.description doctest
See: #162
2013-03-13 21:44:55 +01:00
Takafumi Arakaki a449428391 Document BaseDefinition.full_name 2013-03-13 20:30:36 +01:00
Takafumi Arakaki 9e3e6a2eea Document BaseDefinition.description 2013-03-13 20:29:02 +01:00
Takafumi Arakaki 41b33fd460 Document BaseDefinition.doc 2013-03-13 20:11:14 +01:00
Takafumi Arakaki f9ed3d42f7 Document BaseDefinition.type 2013-03-13 20:01:43 +01:00
Takafumi Arakaki c8c26f52b9 Fix ImportError when building Sphinx 2013-03-12 19:35:20 +01:00
Takafumi Arakaki ab5266b840 Automatically skip thirdparty test if not importable 2013-03-12 13:51:33 +01:00
Takafumi Arakaki 4866b38bda Make VIRTUAL_ENV actually importable 2013-03-12 13:08:47 +01:00
Takafumi Arakaki e5b660b0a1 Use PIP_INSECURE=t only in Python 2.5 test 2013-03-12 11:33:01 +01:00
Takafumi Arakaki de7092d56b Fix: --thirdparty was not considered 2013-03-12 11:26:58 +01:00
Takafumi Arakaki c87d3dad52 Remove unused imports 2013-03-12 11:04:15 +01:00