def test_emptyGroup(self): """ test bugfix: empty groups are allowed in the XMLForm """ form = ZMIForm('test', 'GroupTest') form.add_group('empty') form2 = ZMIForm('test2', 'GroupTestCopy') xml = formToXML(form) XMLToForm(xml, form2) # print xml # XXX actually the empty group is not rendered anyway, but # if we get here, we are behind the bug anyway ... self.assertEqual(form.render(), form2.render()) self.assertEqual(form.get_groups(), form2.get_groups())
def test_emptyGroup(self): """ test bugfix: empty groups are allowed in the XMLForm """ form = ZMIForm('test', 'GroupTest') form.add_group('empty') form2 = ZMIForm('test2', 'GroupTestCopy') xml = formToXML(form) XMLToForm(xml, form2) # print xml # XXX actually the empty group is not rendered anyway, but # if we get here, we are behind the bug anyway ... self.assertEquals(form.render(), form2.render()) self.assertEquals(form.get_groups(), form2.get_groups())
def test_escaping(self): """ test if the necessary elements are escaped in the XML. (Actually this test is very incomplete) """ form = ZMIForm('test', '<EncodingTest>') # XXX don't test escaping of name, as needs to be javascript # valid anyway? form.name = 'name' form.add_group('a & b') form.manage_addField('string_field', '<string> Field', 'StringField') form.manage_addField('int_field', '<int> Field', 'IntegerField') form.manage_addField('float_field', '<Float> Field', 'FloatField') form.manage_addField('date_field', '<Date> Field', 'DateTimeField') form.manage_addField('list_field', '<List> Field', 'ListField') form.manage_addField('multi_field', '<Checkbox> Field', 'MultiCheckBoxField') form2 = ZMIForm('test2', 'ValueTest') xml = formToXML(form) XMLToForm(xml, form2) for field in form.get_fields(): self.assert_(form2.has_field(field.getId())) field2 = getattr(form2, field.getId()) # XXX test if values are the same self.assertEqual(field.values, field2.values) # test if default renderings are the same self.assertEqual(field.render(), field2.render()) self.assertEqual(form.title, form2.title) self.assertEqual(form.name, form2.name) self.assertEqual(form.action, form2.action) self.assertEqual(form.enctype, form2.enctype) self.assertEqual(form.method, form2.method) # if we have forgotten something, this will usually remind us ;-) self.assertEqual(form.render(), form2.render())
def test_escaping(self): """ test if the necessary elements are escaped in the XML. (Actually this test is very incomplete) """ form = ZMIForm('test', '<EncodingTest>') # XXX don't test escaping of name, as needs to be javascript # valid anyway? form.name = 'name' form.add_group('a & b') form.manage_addField('string_field', '<string> Field', 'StringField') form.manage_addField('int_field', '<int> Field', 'IntegerField') form.manage_addField('float_field', '<Float> Field', 'FloatField') form.manage_addField('date_field', '<Date> Field', 'DateTimeField') form.manage_addField('list_field', '<List> Field', 'ListField') form.manage_addField('multi_field', '<Checkbox> Field', 'MultiCheckBoxField') form2 = ZMIForm('test2', 'ValueTest') xml = formToXML(form) XMLToForm(xml, form2) for field in form.get_fields(): self.assert_(form2.has_field(field.getId())) field2 = getattr(form2, field.getId()) # XXX test if values are the same self.assertEquals(field.values, field2.values) # test if default renderings are the same self.assertEquals(field.render(), field2.render()) self.assertEquals(form.title, form2.title) self.assertEquals(form.name, form2.name) self.assertEquals(form.action, form2.action) self.assertEquals(form.enctype, form2.enctype) self.assertEquals(form.method, form2.method) # if we have forgotten something, this will usually remind us ;-) self.assertEquals(form.render(), form2.render())
a = '' if b is None: b = '' return a == b for key in field.values.keys(): self.assertTrue(compare(field.values[key], field2.values[key]), message) # test if default renderings are the same self.assertEquals(field.render(REQUEST=request), field2.render(REQUEST=request)) # brute force compare ... self.assertEquals(form.render(REQUEST=request), form2.render(REQUEST=request)) request.clear() request['field_int_field'] = '42' request['field_float_field'] = '2.71828' request['subfield_field_date_field_month'] = '11' request['subfield_field_date_field_day'] = '11' request['subfield_field_date_field_year'] = str(DateTime().year()) request['subfield_field_date_field_hour'] = '09' request['subfield_field_date_field_minute'] = '59' request['field_list_field'] = 'bar' request['field_multi_field'] = ['bar', 'baz'] request['field_link_field'] = 'http://www.zope.org' request['default_field_multi_field'] = '' request['field_empty_field'] = '' try: result1 = form.validate_all(request)
a = '' if b is None: b = '' return a == b for key in field.values.keys(): self.assertTrue(compare(field.values[key], field2.values[key]), message) # test if default renderings are the same self.assertEqual(field.render(REQUEST=request), field2.render(REQUEST=request)) # brute force compare ... self.assertEqual(form.render(REQUEST=request), form2.render(REQUEST=request)) request.clear() request['field_int_field'] = '42' request['field_float_field'] = '2.71828' request['subfield_field_date_field_month'] = '11' request['subfield_field_date_field_day'] = '11' request['subfield_field_date_field_year'] = str(DateTime().year()) request['subfield_field_date_field_hour'] = '09' request['subfield_field_date_field_minute'] = '59' request['field_list_field'] = 'bar' request['field_multi_field'] = ['bar', 'baz'] request['field_link_field'] = 'http://www.zope.org' request['default_field_multi_field'] = '' request['field_empty_field'] = '' try: result1 = form.validate_all(request)
def compare(a, b): if a is None: a = "" if b is None: b = "" return a == b for key in field.values.keys(): self.assertTrue(compare(field.values[key], field2.values[key]), message) # test if default renderings are the same self.assertEquals(field.render(REQUEST=request), field2.render(REQUEST=request)) # brute force compare ... self.assertEquals(form.render(REQUEST=request), form2.render(REQUEST=request)) request.clear() request["field_int_field"] = "42" request["field_float_field"] = "2.71828" request["subfield_field_date_field_month"] = "11" request["subfield_field_date_field_day"] = "11" request["subfield_field_date_field_year"] = "2011" request["subfield_field_date_field_hour"] = "09" request["subfield_field_date_field_minute"] = "59" request["field_list_field"] = "bar" request["field_multi_field"] = ["bar", "baz"] request["field_link_field"] = "http://www.zope.org" request["default_field_multi_field"] = "" request["field_empty_field"] = "" try: result1 = form.validate_all(request)