Skip to content

Commit 592d215

Browse files
import completion returns unicode
1 parent b4cee82 commit 592d215

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

bpython/importcompletion.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,14 +166,15 @@ def find_all_modules(path=None):
166166
"""Return a list with all modules in `path`, which should be a list of
167167
directory names. If path is not given, sys.path will be used."""
168168
if path is None:
169-
modules.update(sys.builtin_module_names)
169+
modules.update(try_decode(m, 'ascii')
170+
for m in sys.builtin_module_names)
170171
path = sys.path
171172

172173
for p in path:
173174
if not p:
174175
p = os.curdir
175176
for module in find_modules(p):
176-
module = try_decode(module, sys.getfilesystemencoding())
177+
module = try_decode(module, 'ascii')
177178
if module is None:
178179
continue
179180
modules.add(module)

bpython/test/test_importcompletion.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,27 @@ class TestSimpleComplete(unittest.TestCase):
1010

1111
def setUp(self):
1212
self.original_modules = importcompletion.modules
13-
importcompletion.modules = ['zzabc', 'zzabd', 'zzefg', 'zzabc.e',
14-
'zzabc.f']
13+
importcompletion.modules = [u'zzabc', u'zzabd', u'zzefg', u'zzabc.e',
14+
u'zzabc.f']
1515

1616
def tearDown(self):
1717
importcompletion.modules = self.original_modules
1818

1919
def test_simple_completion(self):
2020
self.assertSetEqual(importcompletion.complete(10, 'import zza'),
21-
set(['zzabc', 'zzabd']))
21+
set([u'zzabc', u'zzabd']))
2222

2323
def test_package_completion(self):
2424
self.assertSetEqual(importcompletion.complete(13, 'import zzabc.'),
25-
set(['zzabc.e', 'zzabc.f']))
25+
set([u'zzabc.e', u'zzabc.f']))
2626

2727

2828
class TestRealComplete(unittest.TestCase):
2929

3030
@classmethod
3131
def setUpClass(cls):
32-
[_ for _ in importcompletion.find_iterator]
32+
for _ in importcompletion.find_iterator:
33+
pass
3334
__import__('sys')
3435
__import__('os')
3536

0 commit comments

Comments
 (0)