- Raise a `TypeError` when bogus keyword arguments are passed to
``colander.SchemaNode``.
This commit is contained in:
@@ -14,6 +14,9 @@ Next release
|
|||||||
Positional. This attribute isn't an API; it's used only internally
|
Positional. This attribute isn't an API; it's used only internally
|
||||||
for reporting.
|
for reporting.
|
||||||
|
|
||||||
|
- Raise a ``TypeError`` when bogus keyword arguments are passed to
|
||||||
|
``colander.SchemaNode``.
|
||||||
|
|
||||||
0.6.2 (2010-05-08)
|
0.6.2 (2010-05-08)
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
|||||||
@@ -1112,11 +1112,13 @@ class SchemaNode(object):
|
|||||||
|
|
||||||
def __init__(self, typ, *children, **kw):
|
def __init__(self, typ, *children, **kw):
|
||||||
self.typ = typ
|
self.typ = typ
|
||||||
self.validator = kw.get('validator', None)
|
self.validator = kw.pop('validator', None)
|
||||||
self.default = kw.get('default', _missing)
|
self.default = kw.pop('default', _missing)
|
||||||
self.name = kw.get('name', '')
|
self.name = kw.pop('name', '')
|
||||||
self.title = kw.get('title', self.name.capitalize())
|
self.title = kw.pop('title', self.name.capitalize())
|
||||||
self.description = kw.get('description', '')
|
self.description = kw.pop('description', '')
|
||||||
|
if kw:
|
||||||
|
raise TypeError('Unknown keyword arguments: %s' % repr(kw))
|
||||||
self.children = list(children)
|
self.children = list(children)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
|||||||
@@ -1281,6 +1281,9 @@ class TestSchemaNode(unittest.TestCase):
|
|||||||
self.assertEqual(node.name, 'name')
|
self.assertEqual(node.name, 'name')
|
||||||
self.assertEqual(node.title, 'Name')
|
self.assertEqual(node.title, 'Name')
|
||||||
|
|
||||||
|
def test_ctor_with_bad_kwarg(self):
|
||||||
|
self.assertRaises(TypeError, self._makeOne, None, 0, foo=1)
|
||||||
|
|
||||||
def test_ctor_with_title(self):
|
def test_ctor_with_title(self):
|
||||||
node = self._makeOne(None, 0, validator=1, default=2, name='name',
|
node = self._makeOne(None, 0, validator=1, default=2, name='name',
|
||||||
title='title')
|
title='title')
|
||||||
|
|||||||
Reference in New Issue
Block a user