diff options
author | steven.bethard <devnull@localhost> | 2009-06-14 21:32:28 +0000 |
---|---|---|
committer | steven.bethard <devnull@localhost> | 2009-06-14 21:32:28 +0000 |
commit | d77688d99d8ce50420fe5ac5e0a2df012ef25a55 (patch) | |
tree | c1972016959c3e7b6f0ed64be0319d0d81107141 | |
parent | da2a4da94bdb285c7b568e4fd0e546577e446f33 (diff) | |
download | argparse-d77688d99d8ce50420fe5ac5e0a2df012ef25a55.tar.gz |
Allow None as the first argument to ArgumentError.
-rw-r--r-- | argparse.py | 4 | ||||
-rw-r--r-- | test/test_argparse.py | 11 |
2 files changed, 14 insertions, 1 deletions
diff --git a/argparse.py b/argparse.py index 8544dd7..449a617 100644 --- a/argparse.py +++ b/argparse.py @@ -589,7 +589,9 @@ class RawTextHelpFormatter(RawDescriptionHelpFormatter): # =====================
def _get_action_name(argument):
- if argument.option_strings:
+ if argument is None:
+ return None
+ elif argument.option_strings:
return '/'.join(argument.option_strings)
elif argument.metavar not in (None, SUPPRESS):
return argument.metavar
diff --git a/test/test_argparse.py b/test/test_argparse.py index 6609e3c..a04f840 100644 --- a/test/test_argparse.py +++ b/test/test_argparse.py @@ -3495,5 +3495,16 @@ class TestEncoding(TestCase): def test_test_argparse_module_encoding(self):
text = codecs.open(__file__, 'r', 'utf8').read()
+# ===================
+# ArgumentError tests
+# ===================
+
+class TestArgumentError(TestCase):
+
+ def test_argument_error(self):
+ msg = "my error here"
+ error = argparse.ArgumentError(None, msg)
+ self.failUnlessEqual(str(error), msg)
+
if __name__ == '__main__':
unittest.main()
|