def test_render_viewless03(self): "Custom integer value." name = 'my_field' select = UnorderedMultipleChoiceWidget(choices=[(1, 'A'), (2, 'B')], viewless=30) self.assertEqual(2, select._choice_count()) html = ''' <div class="ui-creme-widget widget-auto ui-creme-checklistselect" less="30" widget="ui-creme-checklistselect"> <select multiple="multiple" class="ui-creme-input" name="{name}"> <option value="1">A</option> <option value="2">B</option> </select> <span class="checklist-counter"></span> <div class="checklist-header"> <a type="button" class="checklist-check-all hidden">{check_all}</a> <a type="button" class="checklist-check-none hidden">{check_none}</a> </div> <div class="checklist-body"><ul class="checklist-content"></ul></div> <div class="checklist-footer"><a class="checklist-toggle-less">{viewless_lbl}</a></div> </div>'''.format( name=name, check_all=_('Check all'), check_none=_('Check none'), viewless_lbl=_('More'), ) self.assertHTMLEqual(html, select.render(name, ()))
def test_render_option_groups(self): select = UnorderedMultipleChoiceWidget(choices=[('Group A', ((1, 'A'), (2, 'B'))), ('Group B', ((3, 'C'), (4, 'D'), (5, 'E'))), ], viewless=False, ) self.assertEqual(5, select._choice_count()) html = '''<div class="ui-creme-widget widget-auto ui-creme-checklistselect" widget="ui-creme-checklistselect" > <select multiple="multiple" class="ui-creme-input" name="A"> <optgroup label="Group A"> <option value="1">A</option> <option value="2">B</option> </optgroup> <optgroup label="Group B"> <option value="3" selected>C</option> <option value="4" selected>D</option> <option value="5">E</option> </optgroup> </select> <span class="checklist-counter"></span> <div class="checklist-header"> <a type="button" class="checklist-check-all">{check_all}</a> <a type="button" class="checklist-check-none">{check_none}</a> </div> <div class="checklist-body"><ul class="checklist-content"></ul></div> </div>'''.format( check_all=_(u'Check all'), check_none=_(u'Check none'), ) self.assertHTMLEqual(html, select.render('A', (3, 4,)))