def test_data_converter_tuple(self): from plone.app.z3cform.widget import SelectWidget from plone.app.z3cform.converters import SelectWidgetConverter field = Tuple(__name__='tuplefield', value_type=Choice(__name__='selectfield', values=['one', 'two', 'three'])) widget = SelectWidget(self.request) widget.field = field widget.multiple = True converter = SelectWidgetConverter(field, widget) self.assertEqual( converter.toFieldValue(''), field.missing_value, ) self.assertEqual( converter.toFieldValue('one;two;three'), ('one', 'two', 'three'), ) self.assertEqual( converter.toWidgetValue(tuple()), [], ) self.assertEqual( converter.toWidgetValue(('one', 'two', 'three')), ['one', 'two', 'three'], )
def test_widget_extract(self): from plone.app.z3cform.widget import SelectWidget widget = SelectWidget(self.request) widget.field = Choice(__name__='selectfield', values=['one', 'two', 'three']) widget.name = 'selectfield' self.request.form['selectfield'] = 'one' self.assertEquals(widget.extract(), 'one') widget.multiple = True self.request.form['selectfield'] = 'one;two' self.assertEquals(widget.extract(), 'one;two')
def test_widget_extract(self): from plone.app.z3cform.widget import SelectWidget widget = SelectWidget(self.request) widget.field = Choice( __name__='selectfield', values=['one', 'two', 'three'] ) widget.name = 'selectfield' self.request.form['selectfield'] = 'one' self.assertEqual(widget.extract(), 'one') widget.multiple = True self.request.form['selectfield'] = 'one;two' self.assertEqual(widget.extract(), 'one;two')
def test_data_converter_list(self): from plone.app.z3cform.widget import SelectWidget from plone.app.z3cform.converters import SelectWidgetConverter field = List(__name__='listfield', value_type=Choice(__name__='selectfield', values=['one', 'two', 'three'])) widget = SelectWidget(self.request) widget.field = field widget.multiple = True converter = SelectWidgetConverter(field, widget) self.assertEqual( converter.toFieldValue(''), field.missing_value, ) self.assertEqual( converter.toFieldValue('one;two;three'), ['one', 'two', 'three'], ) self.assertEqual( converter.toWidgetValue([]), [], ) widget.separator = ',' self.assertEqual( converter.toFieldValue('one,two,three'), ['one', 'two', 'three'], ) self.assertRaises( LookupError, converter.toFieldValue, 'one;two;three' ) self.assertEqual( converter.toWidgetValue(['one', 'two', 'three']), ['one', 'two', 'three'] )
def test_widget(self): from plone.app.z3cform.widget import SelectWidget widget = SelectWidget(self.request) widget.id = 'test-widget' widget.field = Choice( __name__='selectfield', values=['one', 'two', 'three'] ) widget.terms = widget.field.vocabulary widget.field.required = True self.assertEqual( { 'multiple': None, 'name': None, 'pattern_options': {}, 'pattern': 'select2', 'value': (), 'items': [ ('one', 'one'), ('two', 'two'), ('three', 'three') ] }, widget._base_args(), ) widget.field.required = False self.assertEqual( { 'multiple': None, 'name': None, 'pattern_options': {'allowClear': True}, 'pattern': 'select2', 'value': (), 'items': [ (u'', u''), ('one', 'one'), ('two', 'two'), ('three', 'three') ] }, widget._base_args(), ) widget.field.required = True widget.multiple = True self.assertEqual( { 'multiple': True, 'name': None, 'pattern_options': {'separator': ';', 'multiple': True}, 'pattern': 'select2', 'value': (), 'items': [ ('one', 'one'), ('two', 'two'), ('three', 'three') ] }, widget._base_args(), ) widget.field.required = False widget.multiple = True self.assertEqual( { 'multiple': True, 'name': None, 'pattern_options': {'allowClear': True, 'separator': ';', 'multiple': True}, 'pattern': 'select2', 'value': (), 'items': [ ('one', 'one'), ('two', 'two'), ('three', 'three') ] }, widget._base_args(), ) widget.value = 'one' self.assertEqual( { 'multiple': True, 'name': None, 'pattern_options': {'allowClear': True, 'separator': ';', 'multiple': True}, 'pattern': 'select2', 'value': ('one'), 'items': [ ('one', 'one'), ('two', 'two'), ('three', 'three') ] }, widget._base_args(), )
def test_widget(self): from plone.app.z3cform.widget import SelectWidget widget = SelectWidget(self.request) widget.id = 'test-widget' widget.field = Choice(__name__='selectfield', values=['one', 'two', 'three']) widget.terms = widget.field.vocabulary widget.field.required = True self.assertEqual( { 'multiple': None, 'name': None, 'pattern_options': {}, 'pattern': 'select2', 'value': (), 'items': [('one', 'one'), ('two', 'two'), ('three', 'three')] }, widget._base_args(), ) widget.field.required = False self.assertEqual( { 'multiple': None, 'name': None, 'pattern_options': { 'allowClear': True }, 'pattern': 'select2', 'value': (), 'items': [(u'', u''), ('one', 'one'), ('two', 'two'), ('three', 'three')] }, widget._base_args(), ) widget.field.required = True widget.multiple = True self.assertEqual( { 'multiple': True, 'name': None, 'pattern_options': { 'separator': ';', 'multiple': True }, 'pattern': 'select2', 'value': (), 'items': [('one', 'one'), ('two', 'two'), ('three', 'three')] }, widget._base_args(), ) widget.field.required = False widget.multiple = True self.assertEqual( { 'multiple': True, 'name': None, 'pattern_options': { 'allowClear': True, 'separator': ';', 'multiple': True }, 'pattern': 'select2', 'value': (), 'items': [('one', 'one'), ('two', 'two'), ('three', 'three')] }, widget._base_args(), ) widget.value = 'one' self.assertEqual( { 'multiple': True, 'name': None, 'pattern_options': { 'allowClear': True, 'separator': ';', 'multiple': True }, 'pattern': 'select2', 'value': ('one'), 'items': [('one', 'one'), ('two', 'two'), ('three', 'three')] }, widget._base_args(), )