diff options
Diffstat (limited to 'Sluift/Tests/FormTest.lua')
-rw-r--r-- | Sluift/Tests/FormTest.lua | 43 |
1 files changed, 34 insertions, 9 deletions
diff --git a/Sluift/Tests/FormTest.lua b/Sluift/Tests/FormTest.lua index 7b6b4af..d584646 100644 --- a/Sluift/Tests/FormTest.lua +++ b/Sluift/Tests/FormTest.lua @@ -1,7 +1,7 @@ --[[ - Copyright (c) 2013 Remko Tronçon - Licensed under the GNU General Public License v3. - See Documentation/Licenses/GPLv3.txt for more information. + Copyright (c) 2013-2016 Isode Limited. + All rights reserved. + See the COPYING file for more information. --]] example_form = [[ @@ -13,7 +13,10 @@ example_form = [[ </field> <field type='fixed'><value>Section 1: Bot Info</value></field> <field type='text-single' label='The name of your bot' var='botname'/> - <field type='text-multi' label='Helpful description of your bot' var='description'/> + <field type='text-multi' label='Helpful description of your bot' var='description'> + <value>This is</value> + <value>my bot</value> + </field> <field type='boolean' label='Public bot?' var='public'> <required/> </field> @@ -59,10 +62,10 @@ assert(public_field['required'] == true) -- Test multi field features_field = form['fields'][8] assert(features_field['name'] == 'features') -assert(type(features_field['values']) == 'table') -assert(#features_field['values'] == 2) -assert(features_field['values'][1] == 'news') -assert(features_field['values'][2] == 'search') +assert(type(features_field['value']) == 'table') +assert(#features_field['value'] == 2) +assert(features_field['value'][1] == 'news') +assert(features_field['value'][2] == 'search') -- Test shortcut index assert(form['features']['name'] == 'features') @@ -71,9 +74,31 @@ assert(form['FORM_TYPE']['value'] == 'jabber:bot') -- Test response form submission = form:create_submission() assert(#(submission.fields) == 8) +description_submit_value = submission['description']['value'] +assert(type(description_submit_value) == 'table') +assert(description_submit_value[1] == 'This is') +assert(description_submit_value[2] == 'my bot') + submission['description'] = 'my description' assert(submission['description']['value'] == 'my description') submission['type'] = 'cancel' -assert(#(submission.fields) == 8) + +-- Test text-multi field +text_multi_field = form['fields'][4] +assert(text_multi_field['name'] == 'description') +assert(type(text_multi_field['value']) == 'table') + --print(sluift.to_xml({type = 'form', data = form})) + +-- test parsing an empty form -- this had issues as reported in SWIFT-174 +empty_form = [[<x xmlns='jabber:x:data' type='form'/>]] +form = sluift.from_xml(empty_form) +-- and check if we can access all fields without problems +assert(type(form._type)) +assert(type(form.title)) +assert(type(form.instructions)) +assert(type(form.type)) +assert(type(form.fields)) +assert(type(form.items)) +assert(type(form.reported_items)) |