52
52
self.assertEqual(res, "'TEST1' 'TEST2' ") # me not happy wit' this
59
# * wajig_listcommands()
61
57
def test_wajig_requires_args(self):
62
res = wajig.requires_args("", [1])
58
res = util.requires_args("", [1])
63
59
self.assertFalse(res)
64
res = wajig.requires_args("", [1, 2])
60
res = util.requires_args("", [1, 2])
65
61
self.assertTrue(res)
67
63
def test_wajig_requires_no_args(self):
68
res = wajig.requires_no_args("", [1], test=True)
64
res = util.requires_no_args("", [1], test=True)
69
65
self.assertTrue(res)
70
res = wajig.requires_no_args("", [1, 2], test=True)
66
res = util.requires_no_args("", [1, 2], test=True)
71
67
self.assertFalse(res)
73
69
def test_wajig_requires_opt_arg(self):
74
res = wajig.requires_opt_arg("", [1, 2])
70
res = util.requires_opt_arg("", [1, 2])
75
71
self.assertTrue(res)
76
res = wajig.requires_opt_arg("", [1, 2, 3])
72
res = util.requires_opt_arg("", [1, 2, 3])
77
73
self.assertFalse(res)
79
75
def test_wajig_requires_one_arg(self):
80
res = wajig.requires_one_arg("", [1])
76
res = util.requires_one_arg("", [1])
81
77
self.assertFalse(res)
82
res = wajig.requires_one_arg("", [1, 2])
78
res = util.requires_one_arg("", [1, 2])
83
79
self.assertTrue(res)
84
res = wajig.requires_one_arg("", [1, 2, 3])
80
res = util.requires_one_arg("", [1, 2, 3])
85
81
self.assertFalse(res)
87
83
def test_wajig_requires_two_args(self):
88
res = wajig.requires_two_args("", [1, 2])
84
res = util.requires_two_args("", [1, 2])
89
85
self.assertFalse(res)
90
res = wajig.requires_two_args("", [1, 2, 3])
86
res = util.requires_two_args("", [1, 2, 3])
91
87
self.assertTrue(res)
92
res = wajig.requires_two_args("", [1, 2, 3, 4])
88
res = util.requires_two_args("", [1, 2, 3, 4])
93
89
self.assertFalse(res)
95
91
def test_wajig_requires_package(self):
96
res = wajig.requires_package("ls", "/bin/ls", test=True)
92
res = util.requires_package("ls", "/bin/ls", test=True)
97
93
self.assertTrue(res)
98
res = wajig.requires_package("ls", "TEST", test=True)
94
res = util.requires_package("ls", "TEST", test=True)
99
95
self.assertFalse(res)
97
def test_wajig_package_exists(self):
98
self.assertTrue(util.package_exists("dpkg", test=True))
99
self.assertFalse(util.package_exists("pkg_does_not_exist", test=True))
102
# testing bash_completion.py
104
def test_bash_completion(self):
112
cur=${COMP_WORDS[COMP_CWORD]}
113
prev=${COMP_WORDS[COMP_CWORD-1]}
115
if [ "$COMP_CWORD" -ge "2" ]; then
116
COMPREPLY=($( compgen -W "$(apt-cache pkgnames "$cur")" -- $cur ) )
117
elif [[ "$cur" == -* ]]; then
118
COMPREPLY=($( compgen -W '-b --backup -d --debug -h --help \
119
-n --noauth -p --pause -x --pager \
120
-q --quiet -s --simulate -t --teaching \
121
-y --yes -v --verbose' -- $cur ) )
123
COMPREPLY=($( compgen -W '
124
addcdrom addrepo auto-alts auto-clean auto-download \
125
auto-install auto-remove available bug build \
126
build-depend changelog clean contents daily-upgrade \
127
dependents describe describe-new detail detail-new \
128
dist-upgrade docs download download-file \
129
editsources extract find-file find-pkg fix-configure \
130
fix-install fix-missing force help hold init \
131
info install install-file installr installrs \
132
installs install integrity large last-update \
133
list list-all list-alts list-cache list-commands \
134
list-daemons list-files list-hold list-installed \
135
list-log list-names list-orphans list-scripts \
136
list-section list-sections list-status list-wide \
137
local-dist-upgrade local-upgrade madison \
138
move new new-upgrades non-free orphans policy \
139
purge purge-depend purge-orphans purge-removed \
140
rbuilddeps readme recursive reconfigure reinstall \
141
reload remove remove-depend remove-file remove-orphans \
142
repackage reset restart rpm rpminstall search \
143
search-apt setup showdistupgrade showinstall \
144
showremove showupgrade sizes snapshot source \
145
start status status-search stop tasksel toupgrade \
146
unhold update update-alts update-pci-ids \
147
update-usb-ids upgrade verify version versions \
148
whatis whichpkg' -- $cur ) )
151
complete -F _wajig $default wajig""".split("\n")
155
wc = "wajig.completion"
156
os.system("python bash_completion.py")
161
bc_gen.append(line[:-1]) # remove trailing "\n" char
163
if (bc_ref != bc_gen):
164
diff = difflib.unified_diff(bc_ref, bc_gen, fromfile="reference", \
165
tofile="generated", lineterm="")
169
self.assertEqual(bc_ref, bc_gen, "Check diff above.")
170
if os.path.exists(wc):
101
174
if __name__ == '__main__':