mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2025-12-06 05:01:12 +01:00
Introduce StanzaBuilder
As first step to immutable Stanza types.
This commit is contained in:
parent
926c5892ad
commit
5db6191110
134 changed files with 2576 additions and 764 deletions
|
|
@ -19,8 +19,8 @@ package org.jivesoftware.smack.filter;
|
|||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import org.jivesoftware.smack.packet.Message;
|
||||
import org.jivesoftware.smack.packet.Stanza;
|
||||
import org.jivesoftware.smack.packet.StanzaBuilder;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.jxmpp.jid.EntityFullJid;
|
||||
|
|
@ -47,7 +47,7 @@ public class FromMatchesFilterTest {
|
|||
@Test
|
||||
public void autoCompareMatchingEntityFullJid() {
|
||||
FromMatchesFilter filter = FromMatchesFilter.create(FULL_JID1_R1);
|
||||
Stanza packet = new Message();
|
||||
Stanza packet = StanzaBuilder.buildMessage().build();
|
||||
|
||||
packet.setFrom(FULL_JID1_R1);
|
||||
assertTrue(filter.accept(packet));
|
||||
|
|
@ -71,7 +71,7 @@ public class FromMatchesFilterTest {
|
|||
@Test
|
||||
public void autoCompareMatchingBaseJid() {
|
||||
FromMatchesFilter filter = FromMatchesFilter.create(BASE_JID1);
|
||||
Stanza packet = new Message();
|
||||
Stanza packet = StanzaBuilder.buildMessage().build();
|
||||
|
||||
packet.setFrom(BASE_JID1);
|
||||
assertTrue(filter.accept(packet));
|
||||
|
|
@ -95,7 +95,7 @@ public class FromMatchesFilterTest {
|
|||
@Test
|
||||
public void autoCompareMatchingServiceJid() {
|
||||
FromMatchesFilter filter = FromMatchesFilter.create(SERVICE_JID1);
|
||||
Stanza packet = new Message();
|
||||
Stanza packet = StanzaBuilder.buildMessage().build();
|
||||
|
||||
packet.setFrom(SERVICE_JID1);
|
||||
assertTrue(filter.accept(packet));
|
||||
|
|
@ -116,7 +116,7 @@ public class FromMatchesFilterTest {
|
|||
@Test
|
||||
public void bareCompareMatchingEntityFullJid() {
|
||||
FromMatchesFilter filter = FromMatchesFilter.createBare(FULL_JID1_R1);
|
||||
Stanza packet = new Message();
|
||||
Stanza packet = StanzaBuilder.buildMessage().build();
|
||||
|
||||
packet.setFrom(BASE_JID1);
|
||||
assertTrue(filter.accept(packet));
|
||||
|
|
@ -140,7 +140,7 @@ public class FromMatchesFilterTest {
|
|||
@Test
|
||||
public void bareCompareMatchingBaseJid() {
|
||||
FromMatchesFilter filter = FromMatchesFilter.createBare(BASE_JID1);
|
||||
Stanza packet = new Message();
|
||||
Stanza packet = StanzaBuilder.buildMessage().build();
|
||||
|
||||
packet.setFrom(BASE_JID1);
|
||||
assertTrue(filter.accept(packet));
|
||||
|
|
@ -164,7 +164,7 @@ public class FromMatchesFilterTest {
|
|||
@Test
|
||||
public void bareCompareMatchingServiceJid() {
|
||||
FromMatchesFilter filter = FromMatchesFilter.createBare(SERVICE_JID1);
|
||||
Stanza packet = new Message();
|
||||
Stanza packet = StanzaBuilder.buildMessage().build();
|
||||
|
||||
packet.setFrom(SERVICE_JID1);
|
||||
assertTrue(filter.accept(packet));
|
||||
|
|
@ -185,7 +185,7 @@ public class FromMatchesFilterTest {
|
|||
@Test
|
||||
public void fullCompareMatchingEntityFullJid() {
|
||||
FromMatchesFilter filter = FromMatchesFilter.createFull(FULL_JID1_R1);
|
||||
Stanza packet = new Message();
|
||||
Stanza packet = StanzaBuilder.buildMessage().build();
|
||||
|
||||
packet.setFrom(FULL_JID1_R1);
|
||||
assertTrue(filter.accept(packet));
|
||||
|
|
@ -209,7 +209,7 @@ public class FromMatchesFilterTest {
|
|||
@Test
|
||||
public void fullCompareMatchingBaseJid() {
|
||||
FromMatchesFilter filter = FromMatchesFilter.createFull(BASE_JID1);
|
||||
Stanza packet = new Message();
|
||||
Stanza packet = StanzaBuilder.buildMessage().build();
|
||||
|
||||
packet.setFrom(BASE_JID1);
|
||||
assertTrue(filter.accept(packet));
|
||||
|
|
@ -233,7 +233,7 @@ public class FromMatchesFilterTest {
|
|||
@Test
|
||||
public void fullCompareMatchingServiceJid() {
|
||||
FromMatchesFilter filter = FromMatchesFilter.createFull(SERVICE_JID1);
|
||||
Stanza packet = new Message();
|
||||
Stanza packet = StanzaBuilder.buildMessage().build();
|
||||
|
||||
packet.setFrom(SERVICE_JID1);
|
||||
assertTrue(filter.accept(packet));
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ public class IQResponseTest {
|
|||
*/
|
||||
@Test
|
||||
public void testGeneratingValidErrorResponse() throws XmppStringprepException {
|
||||
final StanzaError.Builder error = StanzaError.getBuilder(StanzaError.Condition.bad_request);
|
||||
final StanzaError error = StanzaError.getBuilder(StanzaError.Condition.bad_request).build();
|
||||
final IQ request = new TestIQ(ELEMENT, NAMESPACE);
|
||||
|
||||
request.setType(IQ.Type.set);
|
||||
|
|
@ -75,7 +75,7 @@ public class IQResponseTest {
|
|||
assertNotNull(result.getStanzaId());
|
||||
assertEquals(request.getStanzaId(), result.getStanzaId());
|
||||
assertEquals(request.getFrom(), result.getTo());
|
||||
assertEquals(error.build().toXML().toString(), result.getError().toXML().toString());
|
||||
assertEquals(error.toXML().toString(), result.getError().toXML().toString());
|
||||
// TODO this test was never valid
|
||||
// assertEquals(CHILD_ELEMENT, result.getChildElementXML());
|
||||
}
|
||||
|
|
@ -110,7 +110,7 @@ public class IQResponseTest {
|
|||
*/
|
||||
@Test
|
||||
public void testGeneratingErrorBasedOnError() throws XmppStringprepException {
|
||||
final StanzaError.Builder error = StanzaError.getBuilder(StanzaError.Condition.bad_request);
|
||||
final StanzaError error = StanzaError.getBuilder(StanzaError.Condition.bad_request).build();
|
||||
final IQ request = new TestIQ(ELEMENT, NAMESPACE);
|
||||
|
||||
request.setType(IQ.Type.error);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ package org.jivesoftware.smack.packet;
|
|||
|
||||
import static org.jivesoftware.smack.test.util.XmlUnitUtils.assertXmlSimilar;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.io.IOException;
|
||||
|
|
@ -44,10 +43,12 @@ public class MessageTest {
|
|||
.append("</message>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Message messageTypeInConstructor = new Message(null, Message.Type.chat);
|
||||
messageTypeInConstructor.setStanzaId(null);
|
||||
assertEquals(type, messageTypeInConstructor.getType());
|
||||
assertXmlSimilar(control, messageTypeInConstructor.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
Message messageBuildWithBuilder = StanzaBuilder.buildMessage()
|
||||
.ofType(Message.Type.chat)
|
||||
.build();
|
||||
|
||||
assertEquals(type, messageBuildWithBuilder.getType());
|
||||
assertXmlSimilar(control, messageBuildWithBuilder.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
|
||||
controlBuilder = new StringBuilder();
|
||||
controlBuilder.append("<message")
|
||||
|
|
@ -57,16 +58,18 @@ public class MessageTest {
|
|||
.append("</message>");
|
||||
control = controlBuilder.toString();
|
||||
|
||||
Message messageTypeSet = getNewMessage();
|
||||
messageTypeSet.setType(type2);
|
||||
Message messageTypeSet = StanzaBuilder.buildMessage()
|
||||
.ofType(type2)
|
||||
.build();
|
||||
assertEquals(type2, messageTypeSet.getType());
|
||||
assertXmlSimilar(control, messageTypeSet.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
||||
@Test(expected = NullPointerException.class)
|
||||
public void setNullMessageBodyTest() {
|
||||
Message message = getNewMessage();
|
||||
message.addBody(null, null);
|
||||
StanzaBuilder.buildMessage()
|
||||
.addBody(null, null)
|
||||
.build();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -81,9 +84,9 @@ public class MessageTest {
|
|||
.append("</message>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Message message = getNewMessage();
|
||||
message.setSubject(messageSubject);
|
||||
|
||||
Message message = StanzaBuilder.buildMessage()
|
||||
.setSubject(messageSubject)
|
||||
.build();
|
||||
assertEquals(messageSubject, message.getSubject());
|
||||
assertXmlSimilar(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
|
@ -100,9 +103,9 @@ public class MessageTest {
|
|||
.append("</message>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Message message = getNewMessage();
|
||||
message.setBody(messageBody);
|
||||
|
||||
Message message = StanzaBuilder.buildMessage()
|
||||
.setBody(messageBody)
|
||||
.build();
|
||||
assertEquals(messageBody, message.getBody());
|
||||
assertXmlSimilar(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
|
@ -133,10 +136,11 @@ public class MessageTest {
|
|||
.append("</message>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Message message = getNewMessage();
|
||||
message.addBody(null, messageBody1);
|
||||
message.addBody(lang2, messageBody2);
|
||||
message.addBody(lang3, messageBody3);
|
||||
Message message = StanzaBuilder.buildMessage()
|
||||
.addBody(null, messageBody1)
|
||||
.addBody(lang2, messageBody2)
|
||||
.addBody(lang3, messageBody3)
|
||||
.build();
|
||||
assertXmlSimilar(control, message.toXML(StreamOpen.CLIENT_NAMESPACE));
|
||||
|
||||
Collection<String> languages = message.getBodyLanguages();
|
||||
|
|
@ -148,21 +152,20 @@ public class MessageTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
public void removeMessageBodyTest() {
|
||||
Message message = getNewMessage();
|
||||
message.setBody("test");
|
||||
public void simpleMessageBodyTest() {
|
||||
Message message = StanzaBuilder.buildMessage()
|
||||
.setBody("test")
|
||||
.build();
|
||||
assertTrue(message.getBodies().size() == 1);
|
||||
|
||||
message.setBody(null);
|
||||
message = StanzaBuilder.buildMessage().build();
|
||||
assertTrue(message.getBodies().size() == 0);
|
||||
|
||||
assertFalse(message.removeBody("sp"));
|
||||
|
||||
Message.Body body = message.addBody("es", "test");
|
||||
message = StanzaBuilder.buildMessage()
|
||||
.addBody("es", "test")
|
||||
.build();
|
||||
assertTrue(message.getBodies().size() == 1);
|
||||
|
||||
message.removeBody(body);
|
||||
assertTrue(message.getBodies().size() == 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -177,8 +180,9 @@ public class MessageTest {
|
|||
.append("</message>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Message message = getNewMessage();
|
||||
message.setThread(messageThread);
|
||||
Message message = StanzaBuilder.buildMessage()
|
||||
.setThread(messageThread)
|
||||
.build();
|
||||
|
||||
assertEquals(messageThread, message.getThread());
|
||||
assertXmlSimilar(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
|
|
@ -196,15 +200,10 @@ public class MessageTest {
|
|||
.append("</message>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Message message = getNewMessage();
|
||||
message.setLanguage(lang);
|
||||
Message message = StanzaBuilder.buildMessage()
|
||||
.setLanguage(lang)
|
||||
.build();
|
||||
|
||||
assertXmlSimilar(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
||||
private static Message getNewMessage() {
|
||||
Message message = new Message();
|
||||
message.setStanzaId(null);
|
||||
return message;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,8 +41,9 @@ public class PresenceTest {
|
|||
.append("</presence>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Presence presenceTypeInConstructor = new Presence(type);
|
||||
presenceTypeInConstructor.setStanzaId(null);
|
||||
Presence presenceTypeInConstructor = StanzaBuilder.buildPresence()
|
||||
.ofType(type)
|
||||
.build();
|
||||
assertEquals(type, presenceTypeInConstructor.getType());
|
||||
assertXmlSimilar(control, presenceTypeInConstructor.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
|
||||
|
|
@ -54,27 +55,27 @@ public class PresenceTest {
|
|||
.append("</presence>");
|
||||
control = controlBuilder.toString();
|
||||
|
||||
Presence presenceTypeSet = getNewPresence();
|
||||
presenceTypeSet.setType(type2);
|
||||
PresenceBuilder presenceTypeSet = getNewPresence();
|
||||
presenceTypeSet.ofType(type2);
|
||||
assertEquals(type2, presenceTypeSet.getType());
|
||||
assertXmlSimilar(control, presenceTypeSet.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
assertXmlSimilar(control, presenceTypeSet.build().toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setNullPresenceTypeTest() {
|
||||
assertThrows(IllegalArgumentException.class, () ->
|
||||
getNewPresence().setType(null)
|
||||
getNewPresence().ofType(null)
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isPresenceAvailableTest() {
|
||||
Presence presence = getNewPresence();
|
||||
presence.setType(Presence.Type.available);
|
||||
assertTrue(presence.isAvailable());
|
||||
PresenceBuilder presence = getNewPresence();
|
||||
presence.ofType(Presence.Type.available);
|
||||
assertTrue(presence.build().isAvailable());
|
||||
|
||||
presence.setType(Presence.Type.unavailable);
|
||||
assertFalse(presence.isAvailable());
|
||||
presence.ofType(Presence.Type.unavailable);
|
||||
assertFalse(presence.build().isAvailable());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -89,11 +90,11 @@ public class PresenceTest {
|
|||
.append("</presence>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Presence presence = getNewPresence();
|
||||
PresenceBuilder presence = getNewPresence();
|
||||
presence.setStatus(status);
|
||||
|
||||
assertEquals(status, presence.getStatus());
|
||||
assertXmlSimilar(control, presence.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
assertXmlSimilar(control, presence.build().toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -108,11 +109,11 @@ public class PresenceTest {
|
|||
.append("</presence>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Presence presence = getNewPresence();
|
||||
PresenceBuilder presence = getNewPresence();
|
||||
presence.setPriority(priority);
|
||||
|
||||
assertEquals(priority, presence.getPriority());
|
||||
assertXmlSimilar(control, presence.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
assertXmlSimilar(control, presence.build().toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -143,11 +144,14 @@ public class PresenceTest {
|
|||
.append("</presence>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Presence presenceModeInConstructor = new Presence(Presence.Type.available, status, priority,
|
||||
mode1);
|
||||
presenceModeInConstructor.setStanzaId(null);
|
||||
assertEquals(mode1, presenceModeInConstructor.getMode());
|
||||
assertXmlSimilar(control, presenceModeInConstructor.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
Presence presenceBuildWithBuilder = StanzaBuilder.buildPresence()
|
||||
.ofType(Presence.Type.available)
|
||||
.setStatus(status)
|
||||
.setPriority(priority)
|
||||
.setMode(mode1)
|
||||
.build();
|
||||
assertEquals(mode1, presenceBuildWithBuilder.getMode());
|
||||
assertXmlSimilar(control, presenceBuildWithBuilder.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
|
||||
controlBuilder = new StringBuilder();
|
||||
controlBuilder.append("<presence>")
|
||||
|
|
@ -157,20 +161,20 @@ public class PresenceTest {
|
|||
.append("</presence>");
|
||||
control = controlBuilder.toString();
|
||||
|
||||
Presence presenceModeSet = getNewPresence();
|
||||
PresenceBuilder presenceModeSet = getNewPresence();
|
||||
presenceModeSet.setMode(mode2);
|
||||
assertEquals(mode2, presenceModeSet.getMode());
|
||||
assertXmlSimilar(control, presenceModeSet.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
assertXmlSimilar(control, presenceModeSet.build().toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void isModeAwayTest() {
|
||||
Presence presence = getNewPresence();
|
||||
PresenceBuilder presence = getNewPresence();
|
||||
presence.setMode(Presence.Mode.away);
|
||||
assertTrue(presence.isAway());
|
||||
assertTrue(presence.build().isAway());
|
||||
|
||||
presence.setMode(Presence.Mode.chat);
|
||||
assertFalse(presence.isAway());
|
||||
assertFalse(presence.build().isAway());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -185,15 +189,14 @@ public class PresenceTest {
|
|||
.append("</presence>");
|
||||
String control = controlBuilder.toString();
|
||||
|
||||
Presence presence = getNewPresence();
|
||||
PresenceBuilder presence = getNewPresence();
|
||||
presence.setLanguage(lang);
|
||||
|
||||
assertXmlSimilar(control, presence.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
assertXmlSimilar(control, presence.build().toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
}
|
||||
|
||||
private static Presence getNewPresence() {
|
||||
Presence presence = new Presence(Presence.Type.available);
|
||||
presence.setStanzaId(null);
|
||||
private static PresenceBuilder getNewPresence() {
|
||||
PresenceBuilder presence = StanzaBuilder.buildPresence().ofType(Presence.Type.available);
|
||||
return presence;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
*
|
||||
* Copyright © 2016-2017 Florian Schmaus
|
||||
* Copyright © 2016-2019 Florian Schmaus
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -18,8 +18,6 @@ package org.jivesoftware.smack.packet;
|
|||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import org.jivesoftware.smack.packet.Presence.Mode;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.jxmpp.jid.JidTestUtil;
|
||||
|
||||
|
|
@ -27,15 +25,21 @@ public class ToStringTest {
|
|||
|
||||
@Test
|
||||
public void messageTest() {
|
||||
Message message = new Message(JidTestUtil.BARE_JID_1, Message.Type.headline);
|
||||
message.setStanzaId("message-id");
|
||||
Message message = StanzaBuilder.buildMessage("message-id")
|
||||
.ofType(Message.Type.headline)
|
||||
.to(JidTestUtil.BARE_JID_1)
|
||||
.build();
|
||||
String string = message.toString();
|
||||
assertEquals("Message Stanza [to=one@exampleone.org,id=message-id,type=headline,]", string);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void presenceTest() {
|
||||
Presence presence = new Presence(Presence.Type.subscribe, null, 0, Mode.away);
|
||||
Presence presence = StanzaBuilder.buildPresence()
|
||||
.ofType(Presence.Type.subscribe)
|
||||
.setPriority(0)
|
||||
.setMode(Presence.Mode.away)
|
||||
.build();
|
||||
presence.setStanzaId("presence-id");
|
||||
String string = presence.toString();
|
||||
assertEquals("Presence Stanza [id=presence-id,type=subscribe,mode=away,prio=0,]", string);
|
||||
|
|
|
|||
|
|
@ -16,12 +16,13 @@
|
|||
*/
|
||||
package org.jivesoftware.smack.packet;
|
||||
|
||||
import static org.jivesoftware.smack.packet.StanzaError.Condition;
|
||||
import static org.jivesoftware.smack.packet.StanzaError.Type;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.jivesoftware.smack.packet.StanzaError.Condition;
|
||||
import org.jivesoftware.smack.packet.StanzaError.Type;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class XMPPErrorTest {
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@ import org.jivesoftware.smack.xml.XmlPullParser;
|
|||
import org.jivesoftware.smack.xml.XmlPullParserException;
|
||||
|
||||
import com.jamesmurty.utils.XMLBuilder;
|
||||
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
|
|
@ -547,30 +546,6 @@ public class PacketParserUtilsTest {
|
|||
assertTrue(message.getSubjectLanguages().contains(otherLanguage));
|
||||
assertXmlSimilar(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
|
||||
// message has default language, first subject no language, second subject default language
|
||||
control = XMLBuilder.create("message")
|
||||
.a("from", "romeo@montague.lit/orchard")
|
||||
.a("to", "juliet@capulet.lit/balcony")
|
||||
.a("id", "zid615d9")
|
||||
.a("type", "chat")
|
||||
.a("xml:lang", defaultLanguage)
|
||||
.e("subject")
|
||||
.t(defaultLanguage)
|
||||
.up()
|
||||
.e("subject")
|
||||
.a("xml:lang", defaultLanguage)
|
||||
.t(defaultLanguage + "2")
|
||||
.asString(outputProperties);
|
||||
|
||||
message = PacketParserUtils
|
||||
.parseMessage(PacketParserUtils.getParserFor(control));
|
||||
|
||||
assertEquals(defaultLanguage, message.getSubject());
|
||||
assertEquals(defaultLanguage, message.getSubject(defaultLanguage));
|
||||
assertEquals(1, message.getSubjects().size());
|
||||
assertEquals(0, message.getSubjectLanguages().size());
|
||||
assertXmlNotSimilar(control, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
|
||||
|
||||
// message has non-default language, first subject no language, second subject default language
|
||||
control = XMLBuilder.create("message")
|
||||
.a("from", "romeo@montague.lit/orchard")
|
||||
|
|
@ -867,7 +842,7 @@ public class PacketParserUtilsTest {
|
|||
.element("text", StanzaError.ERROR_CONDITION_AND_TEXT_NAMESPACE).t(text).up()
|
||||
.asString();
|
||||
XmlPullParser parser = TestUtils.getParser(errorXml);
|
||||
StanzaError error = PacketParserUtils.parseError(parser).build();
|
||||
StanzaError error = PacketParserUtils.parseError(parser);
|
||||
assertEquals(text, error.getDescriptiveText());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue