Skip to content

Commit 8e71479

Browse files
authored
Merge branch 'master' into colorize
2 parents d3c8efd + dac0311 commit 8e71479

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

cmd2/cmd2.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2182,7 +2182,7 @@ def _cmdloop(self) -> bool:
21822182
def do_alias(self, statement: Statement) -> None:
21832183
"""Define or display aliases
21842184
2185-
Usage: Usage: alias [name] | [<name> <value>]
2185+
Usage: alias [name] | [<name> <value>]
21862186
Where:
21872187
name - name of the alias being looked up, added, or replaced
21882188
value - what the alias will be resolved to (if adding or replacing)
@@ -2210,7 +2210,8 @@ def do_alias(self, statement: Statement) -> None:
22102210

22112211
# If no args were given, then print a list of current aliases
22122212
if not alias_arg_list:
2213-
for cur_alias in self.aliases:
2213+
sorted_aliases = utils.alphabetical_sort(list(self.aliases))
2214+
for cur_alias in sorted_aliases:
22142215
self.poutput("alias {} {}".format(cur_alias, self.aliases[cur_alias]))
22152216
return
22162217

@@ -2244,9 +2245,6 @@ def do_alias(self, statement: Statement) -> None:
22442245
# Set the alias
22452246
self.aliases[name] = value
22462247
self.poutput("Alias {!r} created".format(name))
2247-
2248-
# Keep aliases in alphabetically sorted order
2249-
self.aliases = collections.OrderedDict(sorted(self.aliases.items()))
22502248
else:
22512249
errmsg = "Aliases can not contain: {}".format(invalidchars)
22522250
self.perror(errmsg, traceback_war=False)
@@ -2267,7 +2265,7 @@ def complete_alias(self, text: str, line: str, begidx: int, endidx: int) -> List
22672265
def do_unalias(self, arglist: List[str]) -> None:
22682266
"""Unsets aliases
22692267
2270-
Usage: Usage: unalias [-a] name [name ...]
2268+
Usage: unalias [-a] name [name ...]
22712269
Where:
22722270
name - name of the alias being unset
22732271

tests/test_cmd2.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1837,7 +1837,22 @@ def test_complete_unalias(base_app):
18371837

18381838
# Validate that there are now completions
18391839
expected = ['fake', 'fall']
1840-
assert base_app.complete_unalias(text, line, begidx, endidx) == expected
1840+
result = base_app.complete_unalias(text, line, begidx, endidx)
1841+
assert sorted(expected) == sorted(result)
1842+
1843+
def test_multiple_aliases(base_app):
1844+
alias1 = 'h1'
1845+
alias2 = 'h2'
1846+
run_cmd(base_app, 'alias {} help'.format(alias1))
1847+
run_cmd(base_app, 'alias {} help -v'.format(alias2))
1848+
out = run_cmd(base_app, alias1)
1849+
expected = normalize(BASE_HELP)
1850+
assert out == expected
1851+
1852+
out = run_cmd(base_app, alias2)
1853+
expected = normalize(BASE_HELP_VERBOSE)
1854+
assert out == expected
1855+
18411856

18421857
def test_ppaged(base_app):
18431858
msg = 'testing...'

0 commit comments

Comments
 (0)