# HG changeset patch # User Atul Varma # Date 1279153345 25200 # Node ID cf3583d9bf07088a370fcb2968dd9b9f952dc45c # Parent 96f841399b40587245716855fbc1e9c94ef1360f fixed bool bug diff -r 96f841399b40 -r cf3583d9bf07 bugzilla.py --- a/bugzilla.py Thu Apr 22 16:35:27 2010 -0700 +++ b/bugzilla.py Wed Jul 14 17:22:25 2010 -0700 @@ -191,7 +191,9 @@ "%s object" % (name, self.__class__.__name__)) if proptype == bool: - if jsonobj[name] == '0': + if isinstance(jsonobj[name], bool): + setattr(self, name, jsonobj[name]) + elif jsonobj[name] == '0': setattr(self, name, False) elif jsonobj[name] == '1': setattr(self, name, True) diff -r 96f841399b40 -r cf3583d9bf07 test_bugzilla.py --- a/test_bugzilla.py Thu Apr 22 16:35:27 2010 -0700 +++ b/test_bugzilla.py Wed Jul 14 17:22:25 2010 -0700 @@ -85,8 +85,14 @@ del globname class Tests(unittest.TestCase): - # TODO: Add unit tests here. - pass + def test_bool(self): + class Foo(bugzilla.BugzillaObject): + __bzprops__ = {'foo': bool} + + self.assertEqual(Foo({'foo': True}, None).foo, True) + self.assertEqual(Foo({'foo': False}, None).foo, False) + self.assertEqual(Foo({'foo': '0'}, None).foo, False) + self.assertEqual(Foo({'foo': '1'}, None).foo, True) def get_tests_in_module(module): tests = []