diff options
author | Lance Stout <lancestout@gmail.com> | 2011-08-11 21:59:55 -0700 |
---|---|---|
committer | Lance Stout <lancestout@gmail.com> | 2011-08-11 21:59:55 -0700 |
commit | 9b7ed73f95145f88887d6fc3daa1bd2a9596b943 (patch) | |
tree | fe5e828b16044cde1b4cbc8f6dd299463ac11b64 /tests | |
parent | a189cb8333d5f59caa9015f0ded222696987d957 (diff) | |
download | slixmpp-9b7ed73f95145f88887d6fc3daa1bd2a9596b943.tar.gz slixmpp-9b7ed73f95145f88887d6fc3daa1bd2a9596b943.tar.bz2 slixmpp-9b7ed73f95145f88887d6fc3daa1bd2a9596b943.tar.xz slixmpp-9b7ed73f95145f88887d6fc3daa1bd2a9596b943.zip |
Reorganize XEP-0004.
Changes:
May now use underscored method names
form.field is replaced by form['fields']
form.get_fields no longer accepts use_dict parameter, it always
returns an OrderedDict now
form.set_fields will accept either an OrderedDict, or a list
of (var, dict) tuples as before.
Setting the form type to 'submit' will remove extra meta data
from the form fields, leaving just the 'var' and 'value'
Setting the form type to 'cancel' will remove all fields.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_stanza_xep_0004.py | 41 | ||||
-rw-r--r-- | tests/test_stanza_xep_0060.py | 34 |
2 files changed, 40 insertions, 35 deletions
diff --git a/tests/test_stanza_xep_0004.py b/tests/test_stanza_xep_0004.py index bdc4a878..22f8b77d 100644 --- a/tests/test_stanza_xep_0004.py +++ b/tests/test_stanza_xep_0004.py @@ -1,4 +1,6 @@ from sleekxmpp.test import * +from sleekxmpp.thirdparty import OrderedDict + import sleekxmpp.plugins.xep_0004 as xep_0004 @@ -47,21 +49,25 @@ class TestDataForms(SleekTest): </message> """) - 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'}]})] + fields = OrderedDict() + fields['f1'] = {'type': 'text-single', + 'label': 'Username', + 'required': True} + fields['f2'] = {'type': 'text-private', + 'label': 'Password', + 'required': True} + fields['f3'] = {'type': 'text-multi', + 'label': 'Message', + 'value': 'Enter message.\nA long one even.'} + fields['f4'] = {'type': 'list-single', + 'label': 'Message Type', + 'options': [{'label': 'Cool!', + 'value': 'cool'}, + {'label': 'Urgh!', + 'value': 'urgh'}]} + form['fields'] = fields + + self.check(msg, """ <message> <x xmlns="jabber:x:data" type="form"> @@ -92,9 +98,8 @@ class TestDataForms(SleekTest): msg = self.Message() form = msg['form'] - form.setFields([ - ('foo', {'type': 'text-single'}), - ('bar', {'type': 'list-multi'})]) + form.add_field(var='foo', ftype='text-single') + form.add_field(var='bar', ftype='list-multi') form.setValues({'foo': 'Foo!', 'bar': ['a', 'b']}) diff --git a/tests/test_stanza_xep_0060.py b/tests/test_stanza_xep_0060.py index d42c11bd..2427b787 100644 --- a/tests/test_stanza_xep_0060.py +++ b/tests/test_stanza_xep_0060.py @@ -182,7 +182,7 @@ class TestPubsubStanzas(SleekTest): <subscribe node="cheese" jid="fritzy@netflint.net/sleekxmpp"> <options node="cheese" jid="fritzy@netflint.net/sleekxmpp"> <x xmlns="jabber:x:data" type="submit"> - <field var="pubsub#title" type="text-single"> + <field var="pubsub#title"> <value>this thing is awesome</value> </field> </x> @@ -306,42 +306,42 @@ class TestPubsubStanzas(SleekTest): <create node="testnode2" /> <configure> <x xmlns="jabber:x:data" type="submit"> - <field var="FORM_TYPE" type="hidden"> + <field var="FORM_TYPE"> <value>http://jabber.org/protocol/pubsub#node_config</value> </field> - <field var="pubsub#node_type" type="list-single" label="Select the node type"> + <field var="pubsub#node_type"> <value>leaf</value> </field> - <field var="pubsub#title" type="text-single" label="A friendly name for the node" /> - <field var="pubsub#deliver_notifications" type="boolean" label="Deliver event notifications"> + <field var="pubsub#title" /> + <field var="pubsub#deliver_notifications"> <value>1</value> </field> - <field var="pubsub#deliver_payloads" type="boolean" label="Deliver payloads with event notifications"> + <field var="pubsub#deliver_payloads"> <value>1</value> </field> - <field var="pubsub#notify_config" type="boolean" label="Notify subscribers when the node configuration changes" /> - <field var="pubsub#notify_delete" type="boolean" label="Notify subscribers when the node is deleted" /> - <field var="pubsub#notify_retract" type="boolean" label="Notify subscribers when items are removed from the node"> + <field var="pubsub#notify_config" /> + <field var="pubsub#notify_delete" /> + <field var="pubsub#notify_retract"> <value>1</value> </field> - <field var="pubsub#notify_sub" type="boolean" label="Notify owners about new subscribers and unsubscribes" /> - <field var="pubsub#persist_items" type="boolean" label="Persist items in storage" /> - <field var="pubsub#max_items" type="text-single" label="Max # of items to persist"> + <field var="pubsub#notify_sub" /> + <field var="pubsub#persist_items" /> + <field var="pubsub#max_items"> <value>10</value> </field> - <field var="pubsub#subscribe" type="boolean" label="Whether to allow subscriptions"> + <field var="pubsub#subscribe"> <value>1</value> </field> - <field var="pubsub#access_model" type="list-single" label="Specify the subscriber model"> + <field var="pubsub#access_model"> <value>open</value> </field> - <field var="pubsub#publish_model" type="list-single" label="Specify the publisher model"> + <field var="pubsub#publish_model"> <value>publishers</value> </field> - <field var="pubsub#send_last_published_item" type="list-single" label="Send last published item"> + <field var="pubsub#send_last_published_item"> <value>never</value> </field> - <field var="pubsub#presence_based_delivery" type="boolean" label="Deliver notification only to available users" /> + <field var="pubsub#presence_based_delivery" /> </x> </configure> </pubsub> |