mirror of
https://github.com/jazzband/django-configurations.git
synced 2026-03-16 22:20:27 +00:00
Fix truthy and falsey of values (#162)
This commit is contained in:
parent
ea8d4deb58
commit
a606003c77
2 changed files with 16 additions and 2 deletions
|
|
@ -80,6 +80,12 @@ class Value(object):
|
|||
def __eq__(self, other):
|
||||
return self.value == other
|
||||
|
||||
def __bool__(self):
|
||||
return bool(self.value)
|
||||
|
||||
# Compatibility with python 2
|
||||
__nonzero__ = __bool__
|
||||
|
||||
def full_environ_name(self, name):
|
||||
if self.environ_name:
|
||||
environ_name = self.environ_name
|
||||
|
|
|
|||
|
|
@ -58,6 +58,14 @@ class ValueTests(TestCase):
|
|||
|
||||
self.assertEqual(repr(value), repr('override'))
|
||||
|
||||
def test_value_truthy(self):
|
||||
value = Value('default')
|
||||
self.assertTrue(bool(value))
|
||||
|
||||
def test_value_falsey(self):
|
||||
value = Value()
|
||||
self.assertFalse(bool(value))
|
||||
|
||||
@patch.dict(os.environ, clear=True, DJANGO_TEST='override')
|
||||
def test_env_var(self):
|
||||
value = Value('default')
|
||||
|
|
@ -99,7 +107,7 @@ class ValueTests(TestCase):
|
|||
value = BooleanValue(False)
|
||||
for truthy in value.true_values:
|
||||
with env(DJANGO_TEST=truthy):
|
||||
self.assertTrue(value.setup('TEST'))
|
||||
self.assertTrue(bool(value.setup('TEST')))
|
||||
|
||||
def test_boolean_values_faulty(self):
|
||||
self.assertRaises(ValueError, BooleanValue, 'false')
|
||||
|
|
@ -108,7 +116,7 @@ class ValueTests(TestCase):
|
|||
value = BooleanValue(True)
|
||||
for falsy in value.false_values:
|
||||
with env(DJANGO_TEST=falsy):
|
||||
self.assertFalse(value.setup('TEST'))
|
||||
self.assertFalse(bool(value.setup('TEST')))
|
||||
|
||||
def test_boolean_values_nonboolean(self):
|
||||
value = BooleanValue(True)
|
||||
|
|
|
|||
Loading…
Reference in a new issue