Changeset 23:a689746cd2b3 in ralphm-patches


Ignore:
Timestamp:
Dec 31, 2009, 4:21:55 PM (10 years ago)
Author:
Ralph Meijer <ralphm@…>
Branch:
default
Message:

Even more tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • form-missing-tests.patch

    r22 r23  
    11diff -r 3ef9bc7a0d70 wokkel/data_form.py
    22--- a/wokkel/data_form.py       Wed Dec 30 16:53:05 2009 +0100
    3 +++ b/wokkel/data_form.py       Thu Dec 31 14:34:48 2009 +0100
     3+++ b/wokkel/data_form.py       Thu Dec 31 16:20:55 2009 +0100
    44@@ -343,7 +343,7 @@
    55     """
     
    6161diff -r 3ef9bc7a0d70 wokkel/test/test_data_form.py
    6262--- a/wokkel/test/test_data_form.py     Wed Dec 30 16:53:05 2009 +0100
    63 +++ b/wokkel/test/test_data_form.py     Thu Dec 31 14:34:48 2009 +0100
    64 @@ -289,11 +289,13 @@
     63+++ b/wokkel/test/test_data_form.py     Thu Dec 31 16:20:55 2009 +0100
     64@@ -19,14 +19,67 @@
     65     """
     66 
     67     def test_toElement(self):
     68+        option = data_form.Option('value')
     69+        element = option.toElement()
     70+
     71+        self.assertEqual('option', element.name)
     72+        self.assertEqual(NS_X_DATA, element.uri)
     73+        self.assertEqual(NS_X_DATA, element.value.uri)
     74+        self.assertEqual('value', unicode(element.value))
     75+        self.assertFalse(element.hasAttribute('label'))
     76+
     77+
     78+    def test_toElementLabel(self):
     79         option = data_form.Option('value', 'label')
     80         element = option.toElement()
     81-        self.assertEquals('option', element.name)
     82-        self.assertEquals(NS_X_DATA, element.uri)
     83-        self.assertEquals('label', element['label'])
     84-        self.assertEquals('value', element.value.name)
     85-        self.assertEquals(NS_X_DATA, element.value.uri)
     86-        self.assertEquals('value', unicode(element.value))
     87+
     88+        self.assertEqual('option', element.name)
     89+        self.assertEqual(NS_X_DATA, element.uri)
     90+        self.assertEqual(NS_X_DATA, element.value.uri)
     91+        self.assertEqual('value', unicode(element.value))
     92+        self.assertEqual('label', element['label'])
     93+
     94+
     95+    def test_fromElement(self):
     96+        """
     97+        An option has a child element with the option value.
     98+        """
     99+        element = domish.Element((NS_X_DATA, 'option'))
     100+        element.addElement('value', content='value')
     101+        option = data_form.Option.fromElement(element)
     102+
     103+        self.assertEqual('value', option.value)
     104+        self.assertIdentical(None, option.label)
     105+
     106+
     107+    def test_fromElementLabel(self):
     108+        """
     109+        An option label is an attribute on the option element.
     110+        """
     111+
     112+        element = domish.Element((NS_X_DATA, 'option'))
     113+        element.addElement('value', content='value')
     114+        element['label'] = 'label'
     115+        option = data_form.Option.fromElement(element)
     116+
     117+        self.assertEqual('label', option.label)
     118+
     119+
     120+    def test_fromElementNoValue(self):
     121+        """
     122+        An option MUST have a value.
     123+        """
     124+        element = domish.Element((NS_X_DATA, 'option'))
     125+        self.assertRaises(data_form.Error,
     126+                          data_form.Option.fromElement, element)
     127+
     128+
     129+    def test_repr(self):
     130+        """
     131+        The representation of an Option is equal to how it is created.
     132+        """
     133+        option = data_form.Option('value', 'label')
     134+        self.assertEqual("""Option('value', 'label')""", repr(option))
     135 
     136 
     137 
     138@@ -250,6 +303,7 @@
     139         field = data_form.Field.fromElement(element)
     140         self.assertEquals(u'user@example.org', field.value)
     141 
     142+
     143     def test_fromElementValueJIDMalformed(self):
     144         """
     145         Parsed jid-single field values should be of type C{unicode}.
     146@@ -275,6 +329,49 @@
     147         self.assertEquals(u'false', field.value)
     148 
     149 
     150+    def test_fromElementDesc(self):
     151+        """
     152+        Field descriptions are in a desc child element.
     153+        """
     154+        element = domish.Element((NS_X_DATA, 'field'))
     155+        element.addElement('desc', content=u'My description')
     156+        field = data_form.Field.fromElement(element)
     157+        self.assertEqual(u'My description', field.desc)
     158+
     159+
     160+    def test_fromElementOption(self):
     161+        """
     162+        Field descriptions are in a desc child element.
     163+        """
     164+        element = domish.Element((NS_X_DATA, 'field'))
     165+        element.addElement('option').addElement('value', content=u'option1')
     166+        element.addElement('option').addElement('value', content=u'option2')
     167+        field = data_form.Field.fromElement(element)
     168+        self.assertEqual(2, len(field.options))
     169+
     170+
     171+    def test_fromElementRequired(self):
     172+        """
     173+        Required fields have a required child element.
     174+        """
     175+        element = domish.Element((NS_X_DATA, 'field'))
     176+        element.addElement('required')
     177+        field = data_form.Field.fromElement(element)
     178+        self.assertTrue(field.required)
     179+
     180+
     181+    def test_fromElementChildOtherNamespace(self):
     182+        """
     183+        Child elements from another namespace are ignored.
     184+        """
     185+        element = domish.Element((NS_X_DATA, 'field'))
     186+        element['var'] = 'test'
     187+        child = element.addElement(('myns', 'value'))
     188+        field = data_form.Field.fromElement(element)
     189+
     190+        self.assertIdentical(None, field.value)
     191+
     192+
     193 
     194 class FormTest(unittest.TestCase):
     195     """
     196@@ -289,11 +386,13 @@
    65197         form = data_form.Form('result')
    66198         self.assertEqual('result', form.formType)
     
    76208 
    77209         self.assertTrue(domish.IElement.providedBy(element))
    78 @@ -303,6 +305,105 @@
     210@@ -303,6 +402,105 @@
    79211         self.assertEquals([], element.children)
    80212 
     
    88220+
    89221+        elements = list(element.elements())
    90 +        self.assertEquals(1, len(elements))
     222+        self.assertEqual(1, len(elements))
    91223+        title = elements[0]
    92224+        self.assertEqual('title', title.name)
     
    103235+
    104236+        elements = list(element.elements())
    105 +        self.assertEquals(1, len(elements))
     237+        self.assertEqual(1, len(elements))
    106238+        instructions = elements[0]
    107239+        self.assertEqual('instructions', instructions.name)
     
    119251+
    120252+        elements = list(element.elements())
    121 +        self.assertEquals(2, len(elements))
     253+        self.assertEqual(2, len(elements))
    122254+        instructions1 = elements[0]
    123255+        instructions2 = elements[1]
     
    138270+
    139271+        elements = list(element.elements())
    140 +        self.assertEquals(1, len(elements))
     272+        self.assertEqual(1, len(elements))
    141273+        formTypeField = elements[0]
    142274+        self.assertEqual('field', formTypeField.name)
     
    167299+
    168300+        elements = list(element.elements())
    169 +        self.assertEquals(4, len(elements))
     301+        self.assertEqual(4, len(elements))
    170302+        for field in elements:
    171303+            self.assertEqual('field', field.name)
     
    182314         """
    183315         C{fromElement} creates a L{data_form.Form} from a DOM representation.
    184 @@ -348,6 +449,7 @@
     316@@ -348,6 +546,7 @@
    185317 
    186318         self.assertEquals(['instruction'], form.instructions)
     
    190322         element = domish.Element((NS_X_DATA, 'x'))
    191323         element.addElement('instructions', content='instruction 1')
    192 @@ -377,3 +479,68 @@
     324@@ -377,3 +576,109 @@
    193325         self.assertEquals('field1', form.fieldList[0].var)
    194326         self.assertIn('field2', form.fields)
    195327         self.assertEquals('field2', form.fieldList[1].var)
     328+
     329+
     330+    def test_fromElementFormType(self):
     331+        """
     332+        The form type is a hidden field named FORM_TYPE.
     333+        """
     334+        element = domish.Element((NS_X_DATA, 'x'))
     335+        field = element.addElement('field')
     336+        field['var'] = 'FORM_TYPE'
     337+        field['type'] = 'hidden'
     338+        field.addElement('value', content='myns')
     339+        form = data_form.Form.fromElement(element)
     340+
     341+        self.assertNotIn('FORM_TYPE', form.fields)
     342+        self.assertEqual('myns', form.formNamespace)
     343+
     344+    def test_fromElementFormTypeNotHidden(self):
     345+        """
     346+        A non-hidden field named FORM_TYPE does not set the form type.
     347+        """
     348+        element = domish.Element((NS_X_DATA, 'x'))
     349+        field = element.addElement('field')
     350+        field['var'] = 'FORM_TYPE'
     351+        field.addElement('value', content='myns')
     352+        form = data_form.Form.fromElement(element)
     353+
     354+        self.assertIn('FORM_TYPE', form.fields)
     355+        self.assertIdentical(None, form.formNamespace)
     356+
     357+
     358+    def test_fromElementChildOtherNamespace(self):
     359+        """
     360+        Child elements from another namespace are ignored.
     361+        """
     362+        element = domish.Element((NS_X_DATA, 'x'))
     363+        element['type'] = 'result'
     364+        field = element.addElement(('myns', 'field'))
     365+        field['var'] = 'test'
     366+        form = data_form.Form.fromElement(element)
     367+
     368+        self.assertEqual(0, len(form.fields))
    196369+
    197370+
Note: See TracChangeset for help on using the changeset viewer.