def test_widget_attrs_max_choices(self):
     """Widget passed max_choices information"""
     fake_widget = 'Fake widget'
     #
     # Case #1: Optional max_choices not sent to widget
     #
     ff = SelectMultipleFormField()
     self.assertTrue(ff.max_choices is None)
     self.assertNotIn('data-max-choices', ff.widget_attrs(fake_widget))
     #
     # Case #2: When set, max_coices passed as data attribute
     #
     MAX_CHOICES = 3
     ff = SelectMultipleFormField(max_choices=MAX_CHOICES)
     self.assertEqual(ff.max_choices, MAX_CHOICES)
     self.assertEqual(ff.widget_attrs(fake_widget).get(
         DEFAULT_MAX_CHOICES_ATTR), str(MAX_CHOICES))
 def test_widget_attrs_size(self):
     """Widget passed size info"""
     fake_widget = 'Fake widget'
     #
     # Case #1: Default size 4 not passed to widget
     #
     ff = SelectMultipleFormField()
     self.assertEqual(ff.size, 4)
     self.assertNotIn('size', ff.widget_attrs(fake_widget))
     #
     # Case #2: Any other size passed to widget
     #
     NON_DEFAULT_SIZE = 8
     ff = SelectMultipleFormField(size=NON_DEFAULT_SIZE)
     self.assertEqual(ff.size, NON_DEFAULT_SIZE)
     self.assertEqual(ff.widget_attrs(fake_widget).get(
         'size'), str(NON_DEFAULT_SIZE))