mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
gh-69605: Disable PyREPL module autocomplete fallback on regular completion (gh-134181)
Co-authored-by: Loïc Simon <loic.simon@napta.io>
This commit is contained in:
parent
a32ea45699
commit
0e3bc962c6
4 changed files with 27 additions and 12 deletions
|
@ -918,7 +918,14 @@ class TestPyReplCompleter(TestCase):
|
|||
|
||||
class TestPyReplModuleCompleter(TestCase):
|
||||
def setUp(self):
|
||||
import importlib
|
||||
# Make iter_modules() search only the standard library.
|
||||
# This makes the test more reliable in case there are
|
||||
# other user packages/scripts on PYTHONPATH which can
|
||||
# interfere with the completions.
|
||||
lib_path = os.path.dirname(importlib.__path__[0])
|
||||
self._saved_sys_path = sys.path
|
||||
sys.path = [lib_path]
|
||||
|
||||
def tearDown(self):
|
||||
sys.path = self._saved_sys_path
|
||||
|
@ -932,14 +939,6 @@ class TestPyReplModuleCompleter(TestCase):
|
|||
return reader
|
||||
|
||||
def test_import_completions(self):
|
||||
import importlib
|
||||
# Make iter_modules() search only the standard library.
|
||||
# This makes the test more reliable in case there are
|
||||
# other user packages/scripts on PYTHONPATH which can
|
||||
# intefere with the completions.
|
||||
lib_path = os.path.dirname(importlib.__path__[0])
|
||||
sys.path = [lib_path]
|
||||
|
||||
cases = (
|
||||
("import path\t\n", "import pathlib"),
|
||||
("import importlib.\t\tres\t\n", "import importlib.resources"),
|
||||
|
@ -1052,6 +1051,19 @@ class TestPyReplModuleCompleter(TestCase):
|
|||
output = reader.readline()
|
||||
self.assertEqual(output, expected)
|
||||
|
||||
def test_no_fallback_on_regular_completion(self):
|
||||
cases = (
|
||||
("import pri\t\n", "import pri"),
|
||||
("from pri\t\n", "from pri"),
|
||||
("from typing import Na\t\n", "from typing import Na"),
|
||||
)
|
||||
for code, expected in cases:
|
||||
with self.subTest(code=code):
|
||||
events = code_to_events(code)
|
||||
reader = self.prepare_reader(events, namespace={})
|
||||
output = reader.readline()
|
||||
self.assertEqual(output, expected)
|
||||
|
||||
def test_get_path_and_prefix(self):
|
||||
cases = (
|
||||
('', ('', '')),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue