Mercurial > prosody-hg
comparison spec/util_datamapper_spec.lua @ 11480:0aa2971380e9
util.datamapper: Add test coverage of unwrapped arrays of objects
Should the xml name/ns go on the array or the items schema? The later
apparently.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 24 Mar 2021 00:34:22 +0100 |
| parents | 83e127eb91f9 |
| children | b104c10ffce7 |
comparison
equal
deleted
inserted
replaced
| 11479:377a9eaf7bef | 11480:0aa2971380e9 |
|---|---|
| 55 properties = { | 55 properties = { |
| 56 to = {type = "string"; xml = {attribute = true; name = "id"}}; | 56 to = {type = "string"; xml = {attribute = true; name = "id"}}; |
| 57 reactions = {type = "array"; items = {type = "string"; xml = {name = "reaction"}}}; | 57 reactions = {type = "array"; items = {type = "string"; xml = {name = "reaction"}}}; |
| 58 }; | 58 }; |
| 59 }; | 59 }; |
| 60 stanza_ids = { | |
| 61 type = "array"; | |
| 62 items = { | |
| 63 xml = {name = "stanza-id"; namespace = "urn:xmpp:sid:0"}; | |
| 64 type = "object"; | |
| 65 properties = { | |
| 66 id = {xml = {attribute = true}; type = "string"}; | |
| 67 by = {xml = {attribute = true}; type = "string"}; | |
| 68 }; | |
| 69 }; | |
| 70 }; | |
| 60 }; | 71 }; |
| 61 }; | 72 }; |
| 62 | 73 |
| 63 x = xml.parse [[ | 74 x = xml.parse [[ |
| 64 <message xmlns="jabber:client" xml:lang="en" to="a@test" from="b@test" type="chat" id="1"> | 75 <message xmlns="jabber:client" xml:lang="en" to="a@test" from="b@test" type="chat" id="1"> |
| 66 <delay xmlns='urn:xmpp:delay' from='test' stamp='2021-03-07T15:59:08+00:00'>Becasue</delay> | 77 <delay xmlns='urn:xmpp:delay' from='test' stamp='2021-03-07T15:59:08+00:00'>Becasue</delay> |
| 67 <UNRELATED xmlns='http://jabber.org/protocol/chatstates'/> | 78 <UNRELATED xmlns='http://jabber.org/protocol/chatstates'/> |
| 68 <active xmlns='http://jabber.org/protocol/chatstates'/> | 79 <active xmlns='http://jabber.org/protocol/chatstates'/> |
| 69 <fallback xmlns='urn:xmpp:fallback:0'/> | 80 <fallback xmlns='urn:xmpp:fallback:0'/> |
| 70 <origin-id xmlns='urn:xmpp:sid:0' id='qgkmMdPB'/> | 81 <origin-id xmlns='urn:xmpp:sid:0' id='qgkmMdPB'/> |
| 82 <stanza-id xmlns='urn:xmpp:sid:0' id='abc1' by='muc'/> | |
| 83 <stanza-id xmlns='urn:xmpp:sid:0' id='xyz2' by='host'/> | |
| 71 <reactions id='744f6e18-a57a-11e9-a656-4889e7820c76' xmlns='urn:xmpp:reactions:0'> | 84 <reactions id='744f6e18-a57a-11e9-a656-4889e7820c76' xmlns='urn:xmpp:reactions:0'> |
| 72 <reaction>👋</reaction> | 85 <reaction>👋</reaction> |
| 73 <reaction>🐢</reaction> | 86 <reaction>🐢</reaction> |
| 74 </reactions> | 87 </reactions> |
| 75 </message> | 88 </message> |
| 84 body = "Hello"; | 97 body = "Hello"; |
| 85 delay = {from = "test"; stamp = "2021-03-07T15:59:08+00:00"; reason = "Becasue"}; | 98 delay = {from = "test"; stamp = "2021-03-07T15:59:08+00:00"; reason = "Becasue"}; |
| 86 state = "active"; | 99 state = "active"; |
| 87 fallback = true; | 100 fallback = true; |
| 88 origin_id = "qgkmMdPB"; | 101 origin_id = "qgkmMdPB"; |
| 102 stanza_ids = {{id = "abc1"; by = "muc"}; {id = "xyz2"; by = "host"}}; | |
| 89 react = { | 103 react = { |
| 90 to = "744f6e18-a57a-11e9-a656-4889e7820c76"; | 104 to = "744f6e18-a57a-11e9-a656-4889e7820c76"; |
| 91 reactions = { | 105 reactions = { |
| 92 "👋", | 106 "👋", |
| 93 "🐢", | 107 "🐢", |
