def test_widget_set_not_orderable(self): from plone.app.z3cform.widget import SelectWidget widget = SelectWidget(self.request) widget.id = 'test-widget' # A set is not orderable widget.field = Set( __name__='selectfield', value_type=Choice(values=['one', 'two', 'three']) ) widget.terms = widget.field.value_type.vocabulary self.assertEqual( { 'multiple': True, 'name': None, 'pattern_options': { 'multiple': True, 'separator': ';'}, 'pattern': 'select2', 'value': (), '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(), )
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(), )