diff --git a/colander/__init__.py b/colander/__init__.py index 1de747d..9355146 100644 --- a/colander/__init__.py +++ b/colander/__init__.py @@ -22,7 +22,12 @@ from . import iso8601 _ = translationstring.TranslationStringFactory('colander') -required = object() +class _required(object): + """ Represents a required value in colander-related operations. """ + def __repr__(self): + return '' + +required = _required() _marker = required # bw compat class _null(object): @@ -46,7 +51,8 @@ class _drop(object): Represents a value that should be dropped if it is missing during deserialization. """ - pass + def __repr__(self): + return '' drop = _drop() diff --git a/colander/tests/test_colander.py b/colander/tests/test_colander.py index 8c342c8..6d05d71 100644 --- a/colander/tests/test_colander.py +++ b/colander/tests/test_colander.py @@ -3783,6 +3783,16 @@ class Test_null(unittest.TestCase): import pickle self.assertTrue(pickle.loads(pickle.dumps(null)) is null) +class Test_required(unittest.TestCase): + def test___repr__(self): + from colander import required + self.assertEqual(repr(required), '') + +class Test_drop(unittest.TestCase): + def test___repr__(self): + from colander import drop + self.assertEqual(repr(drop), '') + class Dummy(object): pass