summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2011-08-11 21:59:55 -0700
committerLance Stout <lancestout@gmail.com>2011-08-11 21:59:55 -0700
commit9b7ed73f95145f88887d6fc3daa1bd2a9596b943 (patch)
treefe5e828b16044cde1b4cbc8f6dd299463ac11b64 /tests
parenta189cb8333d5f59caa9015f0ded222696987d957 (diff)
downloadslixmpp-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.py41
-rw-r--r--tests/test_stanza_xep_0060.py34
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>