示例#1
0
    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())
示例#3
0
    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)
示例#6
0
                    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)
示例#7
0
            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)