aboutsummaryrefslogtreecommitdiffstats
path: root/spec/util_datamapper_spec.lua
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2021-03-06 23:14:23 +0100
committerKim Alvefur <zash@zash.se>2021-03-06 23:14:23 +0100
commitd20ea9b87e6e4071aca1a6895041d9e82ebb8691 (patch)
tree18d117f1e6a0ec3f63ed407ec22b6d4aabb16198 /spec/util_datamapper_spec.lua
parentd8e9e044f2be19a01af4c3c9a0ac99b8d00fdcba (diff)
downloadprosody-d20ea9b87e6e4071aca1a6895041d9e82ebb8691.tar.gz
prosody-d20ea9b87e6e4071aca1a6895041d9e82ebb8691.zip
util.datamapper: Invent extension for using tag name as value
Useful for certain enum-like uses where the element name is the relevant information, e.g. chat states.
Diffstat (limited to 'spec/util_datamapper_spec.lua')
-rw-r--r--spec/util_datamapper_spec.lua16
1 files changed, 11 insertions, 5 deletions
diff --git a/spec/util_datamapper_spec.lua b/spec/util_datamapper_spec.lua
index 2ef828f2..2a149b1c 100644
--- a/spec/util_datamapper_spec.lua
+++ b/spec/util_datamapper_spec.lua
@@ -27,15 +27,20 @@ describe("util.datampper", function()
xml = {namespace = "urn:xmpp:delay"; name = "delay"};
properties = {stamp = attr(); from = attr(); reason = {type = "string"; xml = {text = true}}};
};
+ state = {
+ type = "string";
+ xml = {x_name_is_value = true; namespace = "http://jabber.org/protocol/chatstates"};
+ };
};
};
x = xml.parse [[
- <message xmlns="jabber:client" xml:lang="en" to="a@test" from="b@test" type="chat" id="1">
- <body>Hello</body>
- <delay xmlns='urn:xmpp:delay' from='test' stamp='2021-03-07T15:59:08+00:00'>Becasue</delay>
- </message>
- ]];
+ <message xmlns="jabber:client" xml:lang="en" to="a@test" from="b@test" type="chat" id="1">
+ <body>Hello</body>
+ <delay xmlns='urn:xmpp:delay' from='test' stamp='2021-03-07T15:59:08+00:00'>Becasue</delay>
+ <active xmlns='http://jabber.org/protocol/chatstates'/>
+ </message>
+ ]];
d = {
to = "a@test";
@@ -45,6 +50,7 @@ describe("util.datampper", function()
lang = "en";
body = "Hello";
delay = {from = "test"; stamp = "2021-03-07T15:59:08+00:00"; reason = "Becasue"};
+ state = "active";
};
end);