YouCompleteMe/python/ycm/tests/client
zzbot 95efbc8766
Auto merge of #3208 - micbou:null-character-completion, r=micbou
[READY] Handle null characters in completion response

The `detailed_info` field may contain null characters e.g. `\x00` in Python docstrings (though it doesn't make sense to use such characters in a docstring). Since these characters cannot be evaluated through `pyeval` (and `py3eval`), we replace them with the symbol used by Vim to display them (`^@`).

This PR also rewrites the `_ConvertCompletionDataToVimData` function by relying on two things:
 - [the `insertion_text` field is always defined](600f54de20/ycmd/responses.py (L109));
 - [Vim ignores fields with an empty string](833e5dab14/src/edit.c (L2748-L2755)).

I did some measurements and the performance hit is negligible.

Fixes #3207.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/3208)
<!-- Reviewable:end -->
2018-11-17 05:23:42 -08:00
..
__init__.py Move client tests to the main tests folder 2016-10-20 00:24:38 +02:00
base_request_test.py Update matches for all windows 2018-06-03 18:58:09 +02:00
command_request_test.py Support modifiers for GoTo commands 2018-07-24 18:07:41 +02:00
completion_request_test.py Handle null characters in completion response 2018-11-17 01:42:05 +01:00
debug_info_request_test.py Do not install aliases from future 2017-03-18 18:24:48 +01:00
messages_request_test.py Do not ignore E211 rule from Flake8 2018-05-30 09:21:20 +02:00
omni_completion_request_tests.py Recompute starting column on auto-wrapping 2018-11-17 01:07:02 +01:00