mirror of
https://github.com/mnaberez/py65.git
synced 2024-11-18 15:06:35 +00:00
Improve error handling in tilde command
This commit is contained in:
parent
5adeb310d7
commit
222c324fa6
@ -442,16 +442,21 @@ class Monitor(cmd.Cmd):
|
||||
self._output("Display a number in decimal, hex, octal, and binary.")
|
||||
|
||||
def do_tilde(self, args):
|
||||
if args == '':
|
||||
return self.help_tilde()
|
||||
|
||||
try:
|
||||
num = self._address_parser.number(args)
|
||||
except ValueError:
|
||||
self._output("Syntax error: %s" % args)
|
||||
return
|
||||
|
||||
self._output("+%u" % num)
|
||||
self._output("$" + self.byteFmt % num)
|
||||
self._output("%04o" % num)
|
||||
self._output(itoa(num, 2).zfill(8))
|
||||
self._output("+%u" % num)
|
||||
self._output("$" + self.byteFmt % num)
|
||||
self._output("%04o" % num)
|
||||
self._output(itoa(num, 2).zfill(8))
|
||||
except KeyError:
|
||||
self._output("Bad label: %s" % args)
|
||||
except OverflowError:
|
||||
self._output("Overflow error: %s" % args)
|
||||
except SyntaxError:
|
||||
self._output("Syntax error: %s" % statement)
|
||||
|
||||
def help_registers(self):
|
||||
self._output("registers[<name>=<value> [, <name>=<value>]*]")
|
||||
|
@ -804,6 +804,14 @@ class MonitorTests(unittest.TestCase):
|
||||
expected = "+16\n$10\n0020\n00010000\n"
|
||||
self.assertTrue(out.startswith(expected))
|
||||
|
||||
def test_do_tilde_with_no_arg_shows_help(self):
|
||||
stdout = StringIO()
|
||||
mon = Monitor(stdout=stdout)
|
||||
mon.do_tilde('')
|
||||
out = stdout.getvalue()
|
||||
expected = "~ <number>"
|
||||
self.assertTrue(out.startswith(expected))
|
||||
|
||||
def test_help_tilde(self):
|
||||
stdout = StringIO()
|
||||
mon = Monitor(stdout=stdout)
|
||||
|
Loading…
Reference in New Issue
Block a user