From de24e9ed458cea4bccb9962b69e5fb4271841b3d Mon Sep 17 00:00:00 2001 From: Lance Stout Date: Tue, 20 Jul 2010 12:16:57 -0400 Subject: Lots of XEP-0004 bug fixes. Forms have default type of 'form' setFields now uses a list of tuples instead of a dictionary because ordering is important. getFields defaults to returning a list of tuples, but the use_dict parameter can change that --- tests/test_forms.py | 71 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 48 insertions(+), 23 deletions(-) (limited to 'tests') diff --git a/tests/test_forms.py b/tests/test_forms.py index 16160249..7d37506d 100644 --- a/tests/test_forms.py +++ b/tests/test_forms.py @@ -1,5 +1,5 @@ from sleektest import * -import sleekxmpp.plugins.alt_0004 as xep_0004 +import sleekxmpp.plugins.xep_0004 as xep_0004 class TestDataForms(SleekTest): @@ -16,19 +16,19 @@ class TestDataForms(SleekTest): self.checkMessage(msg, """ - + Instructions Second batch - """, use_values=False) + """) def testAddField(self): """Testing adding fields to a data form.""" msg = self.Message() form = msg['form'] - form.addField('f1', + form.addField(var='f1', ftype='text-single', label='Text', desc='A text field', @@ -37,7 +37,7 @@ class TestDataForms(SleekTest): self.checkMessage(msg, """ - + A text field @@ -45,26 +45,26 @@ class TestDataForms(SleekTest): - """, use_values=False) + """) - form['fields'] = {'f1': {'type': 'text-single', - 'label': 'Username', - 'required': True}, - 'f2': {'type': 'text-private', - 'label': 'Password', - 'required': True}, - 'f3': {'type': 'text-multi', - 'label': 'Message', - 'value': 'Enter message.\nA long one even.'}, - 'f4': {'type': 'list-single', - 'label': 'Message Type', - 'options': [{'label': 'Cool!', - 'value': 'cool'}, - {'label': 'Urgh!', - 'value': 'urgh'}]}} + form['fields'] = [('f1', {'type': 'text-single', + 'label': 'Username', + 'required': True}), + ('f2', {'type': 'text-private', + 'label': 'Password', + 'required': True}), + ('f3', {'type': 'text-multi', + 'label': 'Message', + 'value': 'Enter message.\nA long one even.'}), + ('f4', {'type': 'list-single', + 'label': 'Message Type', + 'options': [{'label': 'Cool!', + 'value': 'cool'}, + {'label': 'Urgh!', + 'value': 'urgh'}]})] self.checkMessage(msg, """ - + @@ -85,6 +85,31 @@ class TestDataForms(SleekTest): - """, use_values=False) + """) + + def testSetValues(self): + """Testing setting form values""" + + msg = self.Message() + form = msg['form'] + form.setFields([ + ('foo', {'type': 'text-single'}), + ('bar', {'type': 'list-multi'})]) + + form.setValues({'foo': 'Foo!', + 'bar': ['a', 'b']}) + + self.checkMessage(msg, """ + + + + Foo! + + + a + b + + + """) suite = unittest.TestLoader().loadTestsFromTestCase(TestDataForms) -- cgit v1.2.3