aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWaylan Limberg <waylan.limberg@icloud.com>2014-08-25 10:43:50 -0400
committerWaylan Limberg <waylan.limberg@icloud.com>2014-08-25 10:43:50 -0400
commited661f74428670df810d4d702cd31c760693b455 (patch)
treea5d6868d5090bfaad673721c208f7baec796fc7b
parentd7e0f99babd33700aa02edd4760deab800c8b5b1 (diff)
downloadmarkdown-ed661f74428670df810d4d702cd31c760693b455.tar.gz
markdown-ed661f74428670df810d4d702cd31c760693b455.tar.bz2
markdown-ed661f74428670df810d4d702cd31c760693b455.zip
Fixed a bug in markdown.util.parseBoolValue
A couple scenarios with "None" were previously not accounted for. Also updated tests which guives us 100% for markdown/util.py
-rw-r--r--markdown/util.py6
-rw-r--r--tests/test_apis.py5
2 files changed, 8 insertions, 3 deletions
diff --git a/markdown/util.py b/markdown/util.py
index d5deaba..0541e7b 100644
--- a/markdown/util.py
+++ b/markdown/util.py
@@ -95,12 +95,12 @@ def parseBoolValue(value, fail_on_errors=True, preserve_none=False):
if preserve_none and value is None:
return value
return bool(value)
+ elif preserve_none and value.lower() == 'none':
+ return None
elif value.lower() in ('true', 'yes', 'y', 'on', '1'):
return True
- elif value.lower() in ('false', 'no', 'n', 'off', '0'):
+ elif value.lower() in ('false', 'no', 'n', 'off', '0', 'none'):
return False
- elif preserve_none and value.lower() == 'none':
- return None
elif fail_on_errors:
raise ValueError('Cannot parse bool value: %r' % value)
diff --git a/tests/test_apis.py b/tests/test_apis.py
index e99f606..a5e0d73 100644
--- a/tests/test_apis.py
+++ b/tests/test_apis.py
@@ -455,6 +455,11 @@ class TestConfigParsing(unittest.TestCase):
self.assertParses('yES', True)
self.assertParses('FALSE', False)
self.assertParses(0., False)
+ self.assertParses('none', False)
+
+ def testPreserveNone(self):
+ self.assertTrue(markdown.util.parseBoolValue('None', preserve_none=True) is None)
+ self.assertTrue(markdown.util.parseBoolValue(None, preserve_none=True) is None)
def testInvalidBooleansParsing(self):
self.assertRaises(ValueError, markdown.util.parseBoolValue, 'novalue')