Merged revisions 83719 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r83719 | antoine.pitrou | 2010-08-04 17:43:16 +0200 (mer., 04 août 2010) | 4 lines Issue #9496: Provide a test suite for the rlcompleter module. Patch by Michele Orrù. ........
This commit is contained in:
parent
26383f902f
commit
8661cbe9d1
|
@ -0,0 +1,73 @@
|
||||||
|
from test import support
|
||||||
|
import unittest
|
||||||
|
import builtins
|
||||||
|
import rlcompleter
|
||||||
|
|
||||||
|
class CompleteMe:
|
||||||
|
""" Trivial class used in testing rlcompleter.Completer. """
|
||||||
|
spam = 1
|
||||||
|
|
||||||
|
|
||||||
|
class TestRlcompleter(unittest.TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
self.stdcompleter = rlcompleter.Completer()
|
||||||
|
self.completer = rlcompleter.Completer(dict(spam=int,
|
||||||
|
egg=str,
|
||||||
|
CompleteMe=CompleteMe))
|
||||||
|
|
||||||
|
# forces stdcompleter to bind builtins namespace
|
||||||
|
self.stdcompleter.complete('', 0)
|
||||||
|
|
||||||
|
def test_namespace(self):
|
||||||
|
class A(dict):
|
||||||
|
pass
|
||||||
|
class B(list):
|
||||||
|
pass
|
||||||
|
|
||||||
|
self.assertTrue(self.stdcompleter.use_main_ns)
|
||||||
|
self.assertFalse(self.completer.use_main_ns)
|
||||||
|
self.assertFalse(rlcompleter.Completer(A()).use_main_ns)
|
||||||
|
self.assertRaises(TypeError, rlcompleter.Completer, B((1,)))
|
||||||
|
|
||||||
|
def test_global_matches(self):
|
||||||
|
# test with builtins namespace
|
||||||
|
self.assertEqual(self.stdcompleter.global_matches('di'),
|
||||||
|
[x+'(' for x in dir(builtins) if x.startswith('di')])
|
||||||
|
self.assertEqual(self.stdcompleter.global_matches('st'),
|
||||||
|
[x+'(' for x in dir(builtins) if x.startswith('st')])
|
||||||
|
self.assertEqual(self.stdcompleter.global_matches('akaksajadhak'), [])
|
||||||
|
|
||||||
|
# test with a customized namespace
|
||||||
|
self.assertEqual(self.completer.global_matches('CompleteM'),
|
||||||
|
['CompleteMe('])
|
||||||
|
self.assertEqual(self.completer.global_matches('eg'),
|
||||||
|
['egg('])
|
||||||
|
# XXX: see issue5256
|
||||||
|
self.assertEqual(self.completer.global_matches('CompleteM'),
|
||||||
|
['CompleteMe('])
|
||||||
|
|
||||||
|
def test_attr_matches(self):
|
||||||
|
# test with builtins namespace
|
||||||
|
self.assertEqual(self.stdcompleter.attr_matches('str.s'),
|
||||||
|
['str.{}('.format(x) for x in dir(str)
|
||||||
|
if x.startswith('s')])
|
||||||
|
self.assertEqual(self.stdcompleter.attr_matches('tuple.foospamegg'), [])
|
||||||
|
|
||||||
|
# test with a customized namespace
|
||||||
|
self.assertEqual(self.completer.attr_matches('CompleteMe.sp'),
|
||||||
|
['CompleteMe.spam'])
|
||||||
|
self.assertEqual(self.completer.attr_matches('Completeme.egg'), [])
|
||||||
|
|
||||||
|
CompleteMe.me = CompleteMe
|
||||||
|
self.assertEqual(self.completer.attr_matches('CompleteMe.me.me.sp'),
|
||||||
|
['CompleteMe.me.me.spam'])
|
||||||
|
self.assertEqual(self.completer.attr_matches('egg.s'),
|
||||||
|
['egg.{}('.format(x) for x in dir(str)
|
||||||
|
if x.startswith('s')])
|
||||||
|
|
||||||
|
def test_main():
|
||||||
|
support.run_unittest(TestRlcompleter)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
test_main()
|
|
@ -59,7 +59,6 @@ class TestUntestedModules(unittest.TestCase):
|
||||||
import pdb
|
import pdb
|
||||||
import pstats
|
import pstats
|
||||||
import py_compile
|
import py_compile
|
||||||
import rlcompleter
|
|
||||||
import sched
|
import sched
|
||||||
import sndhdr
|
import sndhdr
|
||||||
import symbol
|
import symbol
|
||||||
|
|
|
@ -561,6 +561,7 @@ Grant Olson
|
||||||
Piet van Oostrum
|
Piet van Oostrum
|
||||||
Jason Orendorff
|
Jason Orendorff
|
||||||
Douglas Orr
|
Douglas Orr
|
||||||
|
Michele Orrù
|
||||||
Denis S. Otkidach
|
Denis S. Otkidach
|
||||||
Michael Otteneder
|
Michael Otteneder
|
||||||
R. M. Oudkerk
|
R. M. Oudkerk
|
||||||
|
|
|
@ -437,6 +437,9 @@ Build
|
||||||
Tests
|
Tests
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
- Issue #9496: Provide a test suite for the rlcompleter module. Patch by
|
||||||
|
Michele Orrù.
|
||||||
|
|
||||||
- Issue #9251: test_threaded_import didn't fail when run through regrtest
|
- Issue #9251: test_threaded_import didn't fail when run through regrtest
|
||||||
if the import lock was disabled.
|
if the import lock was disabled.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue