Software / code / prosody-modules
Comparison
mod_adhoc_test/mod_adhoc_test.lua @ 3211:2969ed764fe8
mod_adhoc_test: A module to test dataforms generation and rendering
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 03 Aug 2018 19:30:15 +0200 |
comparison
equal
deleted
inserted
replaced
| 3210:9505282ad24f | 3211:2969ed764fe8 |
|---|---|
| 1 local dataforms = require "util.dataforms"; | |
| 2 local adhoc_util = require "util.adhoc"; | |
| 3 local serialization = require "util.serialization"; | |
| 4 | |
| 5 local adhoc_new = module:require "adhoc".new; | |
| 6 | |
| 7 -- Dataform borrowed from Prosodys busted test for util.dataforms | |
| 8 local form = dataforms.new({ | |
| 9 title = "form-title", | |
| 10 instructions = "form-instructions", | |
| 11 { | |
| 12 type = "hidden", | |
| 13 name = "FORM_TYPE", | |
| 14 value = "xmpp:prosody.im/spec/util.dataforms#1", | |
| 15 }; | |
| 16 { | |
| 17 type = "fixed"; | |
| 18 value = "Fixed field"; | |
| 19 }, | |
| 20 { | |
| 21 type = "boolean", | |
| 22 label = "boolean-label", | |
| 23 name = "boolean-field", | |
| 24 value = true, | |
| 25 }, | |
| 26 { | |
| 27 type = "fixed", | |
| 28 label = "fixed-label", | |
| 29 name = "fixed-field", | |
| 30 value = "fixed-value", | |
| 31 }, | |
| 32 { | |
| 33 type = "hidden", | |
| 34 label = "hidden-label", | |
| 35 name = "hidden-field", | |
| 36 value = "hidden-value", | |
| 37 }, | |
| 38 { | |
| 39 type = "jid-multi", | |
| 40 label = "jid-multi-label", | |
| 41 name = "jid-multi-field", | |
| 42 value = { | |
| 43 "jid@multi/value#1", | |
| 44 "jid@multi/value#2", | |
| 45 }, | |
| 46 }, | |
| 47 { | |
| 48 type = "jid-single", | |
| 49 label = "jid-single-label", | |
| 50 name = "jid-single-field", | |
| 51 value = "jid@single/value", | |
| 52 }, | |
| 53 { | |
| 54 type = "list-multi", | |
| 55 label = "list-multi-label", | |
| 56 name = "list-multi-field", | |
| 57 value = { | |
| 58 "list-multi-option-value#1", | |
| 59 "list-multi-option-value#3", | |
| 60 }, | |
| 61 options = { | |
| 62 { | |
| 63 label = "list-multi-option-label#1", | |
| 64 value = "list-multi-option-value#1", | |
| 65 default = true, | |
| 66 }, | |
| 67 { | |
| 68 label = "list-multi-option-label#2", | |
| 69 value = "list-multi-option-value#2", | |
| 70 default = false, | |
| 71 }, | |
| 72 { | |
| 73 label = "list-multi-option-label#3", | |
| 74 value = "list-multi-option-value#3", | |
| 75 default = true, | |
| 76 }, | |
| 77 } | |
| 78 }, | |
| 79 { | |
| 80 type = "list-single", | |
| 81 label = "list-single-label", | |
| 82 name = "list-single-field", | |
| 83 value = "list-single-value", | |
| 84 options = { | |
| 85 "list-single-value", | |
| 86 "list-single-value#2", | |
| 87 "list-single-value#3", | |
| 88 } | |
| 89 }, | |
| 90 { | |
| 91 type = "text-multi", | |
| 92 label = "text-multi-label", | |
| 93 name = "text-multi-field", | |
| 94 value = "text\nmulti\nvalue", | |
| 95 }, | |
| 96 { | |
| 97 type = "text-private", | |
| 98 label = "text-private-label", | |
| 99 name = "text-private-field", | |
| 100 value = "text-private-value", | |
| 101 }, | |
| 102 { | |
| 103 type = "text-single", | |
| 104 label = "text-single-label", | |
| 105 name = "text-single-field", | |
| 106 value = "text-single-value", | |
| 107 }, | |
| 108 }) | |
| 109 | |
| 110 local function handler(fields, err, data) | |
| 111 return { | |
| 112 status = "completed", | |
| 113 info = "Data was:\n" | |
| 114 .. serialization.serialize(err or fields), | |
| 115 }; | |
| 116 end | |
| 117 | |
| 118 module:provides("adhoc", | |
| 119 adhoc_new("Dataforms Demo", | |
| 120 "xmpp:zash.se/mod_adhoc_test", | |
| 121 adhoc_util.new_simple_form(form, handler))); |