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
|
||||
- Alex Marandon, 2013/12/21
|
||||
- Cédric Messiant, 2014/06/27
|
||||
- Gouji Ochiai, 2014/08/21
|
||||
|
@@ -1815,7 +1815,7 @@ class _SchemaNode(object):
|
||||
missing_msg = _('Required')
|
||||
name = ''
|
||||
raw_title = _marker
|
||||
title = ''
|
||||
title = _marker
|
||||
description = ''
|
||||
widget = None
|
||||
after_bind = None
|
||||
@@ -1842,8 +1842,9 @@ class _SchemaNode(object):
|
||||
# bw compat forces us to manufacture a title if one is not supplied
|
||||
title = kw.get('title', _marker)
|
||||
if title is _marker:
|
||||
name = kw.get('name', self.name)
|
||||
kw['title'] = name.replace('_', ' ').title()
|
||||
if self.title is _marker:
|
||||
name = kw.get('name', self.name)
|
||||
kw['title'] = name.replace('_', ' ').title()
|
||||
else:
|
||||
kw['raw_title'] = title
|
||||
|
||||
|
@@ -2726,6 +2726,22 @@ class TestSchemaNodeSubclassing(unittest.TestCase):
|
||||
result = node.deserialize(colander.null)
|
||||
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):
|
||||
import colander
|
||||
class MyNode(colander.SchemaNode):
|
||||
|
Reference in New Issue
Block a user