##// END OF EJS Templates
install stock completers in default user config. Ignore case in filtering possible custom completions
install stock completers in default user config. Ignore case in filtering possible custom completions

File last commit:

r249:20dcd5f8
r403:f25e889d
Show More
test_wildcard.py
99 lines | 3.0 KiB | text/x-python | PythonLexer
# -*- coding: UTF-8 -*-
import sys, unittest
sys.path.append ('..')
from IPython import wildcard
class obj_t(object):
pass
root=obj_t()
l=["arna","abel","ABEL","active","bob","bark","abbot"]
q=["kate","loop","arne","vito","lucifer","koppel"]
for x in l:
o=obj_t()
setattr(root,x,o)
for y in q:
p=obj_t()
setattr(o,y,p)
root._apan=obj_t()
root._apan.a=10
root._apan._a=20
root._apan.__a=20
root.__anka=obj_t()
root.__anka.a=10
root.__anka._a=20
root.__anka.__a=20
root._APAN=obj_t()
root._APAN.a=10
root._APAN._a=20
root._APAN.__a=20
root.__ANKA=obj_t()
root.__ANKA.a=10
root.__ANKA._a=20
root.__ANKA.__a=20
class Tests (unittest.TestCase):
def test_case(self):
ns=root.__dict__
tests=[
("a*", ["abbot","abel","active","arna",]),
("?b*.?o*",["abbot.koppel","abbot.loop","abel.koppel","abel.loop",]),
("_a*", []),
("_*anka", ["__anka",]),
("_*a*", ["__anka",]),
]
for pat,res in tests:
res.sort()
a=wildcard.list_namespace(ns,"all",pat,ignore_case=False,show_all=False).keys()
a.sort()
self.assertEqual(a,res)
def test_case_showall(self):
ns=root.__dict__
tests=[
("a*", ["abbot","abel","active","arna",]),
("?b*.?o*",["abbot.koppel","abbot.loop","abel.koppel","abel.loop",]),
("_a*", ["_apan"]),
("_*anka", ["__anka",]),
("_*a*", ["__anka","_apan",]),
]
for pat,res in tests:
res.sort()
a=wildcard.list_namespace(ns,"all",pat,ignore_case=False,show_all=True).keys()
a.sort()
self.assertEqual(a,res)
def test_nocase(self):
ns=root.__dict__
tests=[
("a*", ["abbot","abel","ABEL","active","arna",]),
("?b*.?o*",["abbot.koppel","abbot.loop","abel.koppel","abel.loop","ABEL.koppel","ABEL.loop",]),
("_a*", []),
("_*anka", ["__anka","__ANKA",]),
("_*a*", ["__anka","__ANKA",]),
]
for pat,res in tests:
res.sort()
a=wildcard.list_namespace(ns,"all",pat,ignore_case=True,show_all=False).keys()
a.sort()
self.assertEqual(a,res)
def test_nocase_showall(self):
ns=root.__dict__
tests=[
("a*", ["abbot","abel","ABEL","active","arna",]),
("?b*.?o*",["abbot.koppel","abbot.loop","abel.koppel","abel.loop","ABEL.koppel","ABEL.loop",]),
("_a*", ["_apan","_APAN"]),
("_*anka", ["__anka","__ANKA",]),
("_*a*", ["__anka","__ANKA","_apan","_APAN"]),
]
for pat,res in tests:
res.sort()
a=wildcard.list_namespace(ns,"all",pat,ignore_case=True,show_all=True).keys()
a.sort()
self.assertEqual(a,res)
if __name__ == '__main__':
unittest.main()