Merge pull request #185 from gjo/bypass_title_overwrite2
Bypass title overwrite2
This commit is contained in:
@@ -117,3 +117,4 @@ Contributors
|
|||||||
- Michael Howitz, 2013/12/05
|
- Michael Howitz, 2013/12/05
|
||||||
- Alex Marandon, 2013/12/21
|
- Alex Marandon, 2013/12/21
|
||||||
- Cédric Messiant, 2014/06/27
|
- Cédric Messiant, 2014/06/27
|
||||||
|
- Gouji Ochiai, 2014/08/21
|
||||||
|
@@ -1815,7 +1815,7 @@ class _SchemaNode(object):
|
|||||||
missing_msg = _('Required')
|
missing_msg = _('Required')
|
||||||
name = ''
|
name = ''
|
||||||
raw_title = _marker
|
raw_title = _marker
|
||||||
title = ''
|
title = _marker
|
||||||
description = ''
|
description = ''
|
||||||
widget = None
|
widget = None
|
||||||
after_bind = None
|
after_bind = None
|
||||||
@@ -1842,8 +1842,9 @@ class _SchemaNode(object):
|
|||||||
# bw compat forces us to manufacture a title if one is not supplied
|
# bw compat forces us to manufacture a title if one is not supplied
|
||||||
title = kw.get('title', _marker)
|
title = kw.get('title', _marker)
|
||||||
if title is _marker:
|
if title is _marker:
|
||||||
name = kw.get('name', self.name)
|
if self.title is _marker:
|
||||||
kw['title'] = name.replace('_', ' ').title()
|
name = kw.get('name', self.name)
|
||||||
|
kw['title'] = name.replace('_', ' ').title()
|
||||||
else:
|
else:
|
||||||
kw['raw_title'] = title
|
kw['raw_title'] = title
|
||||||
|
|
||||||
|
@@ -2726,6 +2726,22 @@ class TestSchemaNodeSubclassing(unittest.TestCase):
|
|||||||
result = node.deserialize(colander.null)
|
result = node.deserialize(colander.null)
|
||||||
self.assertEqual(result, 10)
|
self.assertEqual(result, 10)
|
||||||
|
|
||||||
|
def test_subclass_uses_title(self):
|
||||||
|
import colander
|
||||||
|
class MyNode(colander.SchemaNode):
|
||||||
|
schema_type = colander.Int
|
||||||
|
title = 'some title'
|
||||||
|
node = MyNode(name='my')
|
||||||
|
self.assertEqual(node.title, 'some title')
|
||||||
|
|
||||||
|
def test_subclass_title_overwritten_by_constructor(self):
|
||||||
|
import colander
|
||||||
|
class MyNode(colander.SchemaNode):
|
||||||
|
schema_type = colander.Int
|
||||||
|
title = 'some title'
|
||||||
|
node = MyNode(name='my', title='other title')
|
||||||
|
self.assertEqual(node.title, 'other title')
|
||||||
|
|
||||||
def test_subclass_value_overridden_by_constructor(self):
|
def test_subclass_value_overridden_by_constructor(self):
|
||||||
import colander
|
import colander
|
||||||
class MyNode(colander.SchemaNode):
|
class MyNode(colander.SchemaNode):
|
||||||
|
Reference in New Issue
Block a user