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