/
opt
/
imh-python
/
lib
/
python3.9
/
site-packages
/
IPython
/
core
/
tests
/
/opt/imh-python/lib/python3.9/site-packages/IPython/core/tests
mkdir
upload
Name
Size
Mode
Actions
daft_extension/
-
0755
rm
__pycache__/
-
0755
rm
2x2.jpg
331
0644
edit
dl
rm
2x2.png
71
0644
edit
dl
rm
bad_all.py
206
0644
edit
dl
rm
nonascii.py
135
0644
edit
dl
rm
nonascii2.py
155
0644
edit
dl
rm
print_argv.py
32
0644
edit
dl
rm
refbug.py
1494
0644
edit
dl
rm
simpleerr.py
583
0644
edit
dl
rm
tclass.py
921
0644
edit
dl
rm
test_alias.py
2007
0644
edit
dl
rm
test_application.py
2245
0644
edit
dl
rm
test_async_helpers.py
8647
0644
edit
dl
rm
test_autocall.py
1425
0644
edit
dl
rm
test_compilerop.py
2174
0644
edit
dl
rm
test_completer.py
60803
0644
edit
dl
rm
test_completerlib.py
6507
0644
edit
dl
rm
test_debugger.py
14501
0644
edit
dl
rm
test_display.py
15946
0644
edit
dl
rm
test_displayhook.py
3593
0644
edit
dl
rm
test_events.py
2287
0644
edit
dl
rm
test_exceptiongroup_tb.py
3599
0644
edit
dl
rm
test_extension.py
3026
0644
edit
dl
rm
test_formatters.py
14249
0644
edit
dl
rm
test_guarded_eval.py
15655
0644
edit
dl
rm
test_handlers.py
3286
0644
edit
dl
rm
test_history.py
11698
0644
edit
dl
rm
test_hooks.py
2316
0644
edit
dl
rm
test_imports.py
1153
0644
edit
dl
rm
test_inputsplitter.py
23213
0644
edit
dl
rm
test_inputtransformer.py
15755
0644
edit
dl
rm
test_inputtransformer2.py
11408
0644
edit
dl
rm
test_inputtransformer2_line.py
2971
0644
edit
dl
rm
test_interactiveshell.py
39660
0644
edit
dl
rm
test_iplib.py
6677
0644
edit
dl
rm
test_logger.py
776
0644
edit
dl
rm
test_magic.py
44359
0644
edit
dl
rm
test_magic_arguments.py
4778
0644
edit
dl
rm
test_magic_terminal.py
5996
0644
edit
dl
rm
test_oinspect.py
15674
0644
edit
dl
rm
test_page.py
772
0644
edit
dl
rm
test_paths.py
7081
0644
edit
dl
rm
test_prefilter.py
4214
0644
edit
dl
rm
test_profile.py
5064
0644
edit
dl
rm
test_prompts.py
845
0644
edit
dl
rm
test_pylabtools.py
7880
0644
edit
dl
rm
test_run.py
19369
0644
edit
dl
rm
test_shellapp.py
1892
0644
edit
dl
rm
test_splitinput.py
1227
0644
edit
dl
rm
test_ultratb.py
12026
0644
edit
dl
rm
__init__.py
0
0644
edit
dl
rm
Edit:
/opt/imh-python/lib/python3.9/site-packages/IPython/core/tests/test_completerlib.py
(6507B)
# -*- coding: utf-8 -*- """Tests for completerlib. """ #----------------------------------------------------------------------------- # Imports #----------------------------------------------------------------------------- import os import shutil import sys import tempfile import unittest from os.path import join from tempfile import TemporaryDirectory from IPython.core.completerlib import magic_run_completer, module_completion, try_import from IPython.testing.decorators import onlyif_unicode_paths class MockEvent(object): def __init__(self, line): self.line = line #----------------------------------------------------------------------------- # Test functions begin #----------------------------------------------------------------------------- class Test_magic_run_completer(unittest.TestCase): files = [u"aao.py", u"a.py", u"b.py", u"aao.txt"] dirs = [u"adir/", "bdir/"] def setUp(self): self.BASETESTDIR = tempfile.mkdtemp() for fil in self.files: with open(join(self.BASETESTDIR, fil), "w", encoding="utf-8") as sfile: sfile.write("pass\n") for d in self.dirs: os.mkdir(join(self.BASETESTDIR, d)) self.oldpath = os.getcwd() os.chdir(self.BASETESTDIR) def tearDown(self): os.chdir(self.oldpath) shutil.rmtree(self.BASETESTDIR) def test_1(self): """Test magic_run_completer, should match two alternatives """ event = MockEvent(u"%run a") mockself = None match = set(magic_run_completer(mockself, event)) self.assertEqual(match, {u"a.py", u"aao.py", u"adir/"}) def test_2(self): """Test magic_run_completer, should match one alternative """ event = MockEvent(u"%run aa") mockself = None match = set(magic_run_completer(mockself, event)) self.assertEqual(match, {u"aao.py"}) def test_3(self): """Test magic_run_completer with unterminated " """ event = MockEvent(u'%run "a') mockself = None match = set(magic_run_completer(mockself, event)) self.assertEqual(match, {u"a.py", u"aao.py", u"adir/"}) def test_completion_more_args(self): event = MockEvent(u'%run a.py ') match = set(magic_run_completer(None, event)) self.assertEqual(match, set(self.files + self.dirs)) def test_completion_in_dir(self): # Github issue #3459 event = MockEvent(u'%run a.py {}'.format(join(self.BASETESTDIR, 'a'))) print(repr(event.line)) match = set(magic_run_completer(None, event)) # We specifically use replace here rather than normpath, because # at one point there were duplicates 'adir' and 'adir/', and normpath # would hide the failure for that. self.assertEqual(match, {join(self.BASETESTDIR, f).replace('\\','/') for f in (u'a.py', u'aao.py', u'aao.txt', u'adir/')}) class Test_magic_run_completer_nonascii(unittest.TestCase): @onlyif_unicode_paths def setUp(self): self.BASETESTDIR = tempfile.mkdtemp() for fil in [u"aaø.py", u"a.py", u"b.py"]: with open(join(self.BASETESTDIR, fil), "w", encoding="utf-8") as sfile: sfile.write("pass\n") self.oldpath = os.getcwd() os.chdir(self.BASETESTDIR) def tearDown(self): os.chdir(self.oldpath) shutil.rmtree(self.BASETESTDIR) @onlyif_unicode_paths def test_1(self): """Test magic_run_completer, should match two alternatives """ event = MockEvent(u"%run a") mockself = None match = set(magic_run_completer(mockself, event)) self.assertEqual(match, {u"a.py", u"aaø.py"}) @onlyif_unicode_paths def test_2(self): """Test magic_run_completer, should match one alternative """ event = MockEvent(u"%run aa") mockself = None match = set(magic_run_completer(mockself, event)) self.assertEqual(match, {u"aaø.py"}) @onlyif_unicode_paths def test_3(self): """Test magic_run_completer with unterminated " """ event = MockEvent(u'%run "a') mockself = None match = set(magic_run_completer(mockself, event)) self.assertEqual(match, {u"a.py", u"aaø.py"}) # module_completer: def test_import_invalid_module(): """Testing of issue https://github.com/ipython/ipython/issues/1107""" invalid_module_names = {'foo-bar', 'foo:bar', '10foo'} valid_module_names = {'foobar'} with TemporaryDirectory() as tmpdir: sys.path.insert( 0, tmpdir ) for name in invalid_module_names | valid_module_names: filename = os.path.join(tmpdir, name + ".py") open(filename, "w", encoding="utf-8").close() s = set( module_completion('import foo') ) intersection = s.intersection(invalid_module_names) assert intersection == set() assert valid_module_names.issubset(s), valid_module_names.intersection(s) def test_bad_module_all(): """Test module with invalid __all__ https://github.com/ipython/ipython/issues/9678 """ testsdir = os.path.dirname(__file__) sys.path.insert(0, testsdir) try: results = module_completion("from bad_all import ") assert "puppies" in results for r in results: assert isinstance(r, str) # bad_all doesn't contain submodules, but this completion # should finish without raising an exception: results = module_completion("import bad_all.") assert results == [] finally: sys.path.remove(testsdir) def test_module_without_init(): """ Test module without __init__.py. https://github.com/ipython/ipython/issues/11226 """ fake_module_name = "foo" with TemporaryDirectory() as tmpdir: sys.path.insert(0, tmpdir) try: os.makedirs(os.path.join(tmpdir, fake_module_name)) s = try_import(mod=fake_module_name) assert s == [], f"for module {fake_module_name}" finally: sys.path.remove(tmpdir) def test_valid_exported_submodules(): """ Test checking exported (__all__) objects are submodules """ results = module_completion("import os.pa") # ensure we get a valid submodule: assert "os.path" in results # ensure we don't get objects that aren't submodules: assert "os.pathconf" not in results
Save
cmd:
run