forked from ipython/ipython
/
test_wildcard.py
100 lines (90 loc) · 2.86 KB
/
test_wildcard.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# -*- 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()