Skip to content

Commit 854bd1a

Browse files
authored
Merge branch 'master' into alert_printer
2 parents 38aed32 + dac0311 commit 854bd1a

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
@@ -2150,7 +2150,7 @@ def _cmdloop(self) -> bool:
21502150
def do_alias(self, statement: Statement) -> None:
21512151
"""Define or display aliases
21522152
2153-
Usage: Usage: alias [name] | [<name> <value>]
2153+
Usage: alias [name] | [<name> <value>]
21542154
Where:
21552155
name - name of the alias being looked up, added, or replaced
21562156
value - what the alias will be resolved to (if adding or replacing)
@@ -2178,7 +2178,8 @@ def do_alias(self, statement: Statement) -> None:
21782178

21792179
# If no args were given, then print a list of current aliases
21802180
if not alias_arg_list:
2181-
for cur_alias in self.aliases:
2181+
sorted_aliases = utils.alphabetical_sort(list(self.aliases))
2182+
for cur_alias in sorted_aliases:
21822183
self.poutput("alias {} {}".format(cur_alias, self.aliases[cur_alias]))
21832184
return
21842185

@@ -2212,9 +2213,6 @@ def do_alias(self, statement: Statement) -> None:
22122213
# Set the alias
22132214
self.aliases[name] = value
22142215
self.poutput("Alias {!r} created".format(name))
2215-
2216-
# Keep aliases in alphabetically sorted order
2217-
self.aliases = collections.OrderedDict(sorted(self.aliases.items()))
22182216
else:
22192217
errmsg = "Aliases can not contain: {}".format(invalidchars)
22202218
self.perror(errmsg, traceback_war=False)
@@ -2235,7 +2233,7 @@ def complete_alias(self, text: str, line: str, begidx: int, endidx: int) -> List
22352233
def do_unalias(self, arglist: List[str]) -> None:
22362234
"""Unsets aliases
22372235
2238-
Usage: Usage: unalias [-a] name [name ...]
2236+
Usage: unalias [-a] name [name ...]
22392237
Where:
22402238
name - name of the alias being unset
22412239

tests/test_cmd2.py

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

18311831
# Validate that there are now completions
18321832
expected = ['fake', 'fall']
1833-
assert base_app.complete_unalias(text, line, begidx, endidx) == expected
1833+
result = base_app.complete_unalias(text, line, begidx, endidx)
1834+
assert sorted(expected) == sorted(result)
1835+
1836+
def test_multiple_aliases(base_app):
1837+
alias1 = 'h1'
1838+
alias2 = 'h2'
1839+
run_cmd(base_app, 'alias {} help'.format(alias1))
1840+
run_cmd(base_app, 'alias {} help -v'.format(alias2))
1841+
out = run_cmd(base_app, alias1)
1842+
expected = normalize(BASE_HELP)
1843+
assert out == expected
1844+
1845+
out = run_cmd(base_app, alias2)
1846+
expected = normalize(BASE_HELP_VERBOSE)
1847+
assert out == expected
1848+
18341849

18351850
def test_ppaged(base_app):
18361851
msg = 'testing...'

0 commit comments

Comments
 (0)