diff options
author | steven.bethard <devnull@localhost> | 2009-10-24 19:47:15 +0000 |
---|---|---|
committer | steven.bethard <devnull@localhost> | 2009-10-24 19:47:15 +0000 |
commit | c8c0bf920a6a527e6f7ed936260c743871c6a634 (patch) | |
tree | 39b29222b428a2199cc555b53c80200f1df74ed8 /test/test_argparse.py | |
parent | c24b8c04f07fc5abbb1d9bc44ea4e0bdc013a631 (diff) | |
download | argparse-c8c0bf920a6a527e6f7ed936260c743871c6a634.tar.gz |
Allow better custom type error messages using ArgumentTypeError.
Diffstat (limited to 'test/test_argparse.py')
-rw-r--r-- | test/test_argparse.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/test_argparse.py b/test/test_argparse.py index 4835b1d..c9ec289 100644 --- a/test/test_argparse.py +++ b/test/test_argparse.py @@ -3985,6 +3985,28 @@ class TestArgumentError(TestCase): error = argparse.ArgumentError(None, msg) self.failUnlessEqual(str(error), msg) +# ======================= +# ArgumentTypeError tests +# ======================= + +class TestArgumentError(TestCase): + + def test_argument_type_error(self): + + def spam(string): + raise argparse.ArgumentTypeError('spam!') + + parser = ErrorRaisingArgumentParser(prog='PROG', add_help=False) + parser.add_argument('x', type=spam) + try: + parser.parse_args(['XXX']) + except ArgumentParserError: + expected = 'usage: PROG x\nPROG: error: argument x: spam!\n' + msg = str(sys.exc_info()[1]) + self.failUnlessEqual(expected, msg) + else: + self.fail() + # ====================== # parse_known_args tests # ====================== |