mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-12-06 19:11:10 +01:00
Introduce XmlEnvironment
This commit is contained in:
parent
dc780ffd6c
commit
fee3ed81ca
229 changed files with 715 additions and 526 deletions
|
|
@ -182,13 +182,13 @@ public class StanzaCollectorTest {
|
|||
}
|
||||
|
||||
@Override
|
||||
public String toXML(String enclosingNamespace) {
|
||||
public String toXML(org.jivesoftware.smack.packet.XmlEnvironment enclosingNamespace) {
|
||||
return "<packetId>" + getStanzaId() + "</packetId>";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return toXML(null);
|
||||
return toXML().toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public class FailureTest {
|
|||
@Test
|
||||
public void simpleFailureTest() throws SAXException, IOException {
|
||||
Failure failure = new Failure(Failure.CompressFailureError.processing_failed);
|
||||
CharSequence xml = failure.toXML(null);
|
||||
CharSequence xml = failure.toXML();
|
||||
|
||||
final String expectedXml = "<failure xmlns='http://jabber.org/protocol/compress'><processing-failed/></failure>";
|
||||
|
||||
|
|
@ -44,7 +44,7 @@ public class FailureTest {
|
|||
.setCondition(Condition.bad_request)
|
||||
.build();
|
||||
Failure failure = new Failure(Failure.CompressFailureError.setup_failed, stanzaError);
|
||||
CharSequence xml = failure.toXML(null);
|
||||
CharSequence xml = failure.toXML();
|
||||
|
||||
final String expectedXml = "<failure xmlns='http://jabber.org/protocol/compress'>"
|
||||
+ "<setup-failed/>"
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ public class IQResponseTest {
|
|||
assertNotNull(result.getStanzaId());
|
||||
assertEquals(request.getStanzaId(), result.getStanzaId());
|
||||
assertEquals(request.getFrom(), result.getTo());
|
||||
assertEquals(error.build().toXML(), result.getError().toXML());
|
||||
assertEquals(error.build().toXML().toString(), result.getError().toXML().toString());
|
||||
// TODO this test was never valid
|
||||
// assertEquals(CHILD_ELEMENT, result.getChildElementXML());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
/**
|
||||
*
|
||||
* Copyright 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.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.jivesoftware.smack.packet;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class XmlEnvironmentTest {
|
||||
|
||||
@Test
|
||||
public void testNamespaceScope() {
|
||||
final String outerNamespace = "outerNamespace";
|
||||
|
||||
XmlEnvironment outer = XmlEnvironment.builder().withNamespace(outerNamespace).build();
|
||||
XmlEnvironment inner = XmlEnvironment.builder().withNext(outer).build();
|
||||
|
||||
assertEquals(outerNamespace, inner.getEffectiveNamespace());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testLanguageScope() {
|
||||
final String outerLanguage = "outerLanguage";
|
||||
|
||||
XmlEnvironment outer = XmlEnvironment.builder().withLanguage(outerLanguage).build();
|
||||
XmlEnvironment inner = XmlEnvironment.builder().withNext(outer).build();
|
||||
|
||||
assertEquals(outerLanguage, inner.getEffectiveLanguage());
|
||||
}
|
||||
}
|
||||
|
|
@ -31,7 +31,7 @@ public class StandardExtensionElementParserTest {
|
|||
builder.addAttribute("attr1", "attr1-value");
|
||||
builder.addElement(StandardExtensionElement.builder("bar", "ns2").addAttribute("attr2", "attr2-value").build());
|
||||
builder.addElement("another-element", "another-element-text");
|
||||
final String elementString = builder.build().toXML(null).toString();
|
||||
final String elementString = builder.build().toXML().toString();
|
||||
|
||||
StandardExtensionElement parsedElement = StandardExtensionElementProvider.INSTANCE.parse(getParserFor(elementString));
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ public class StandardExtensionElementParserTest {
|
|||
|
||||
assertEquals("another-element-text", parsedElement.getFirstElement("another-element").getText());
|
||||
|
||||
String parsedElementString = parsedElement.toXML(null).toString();
|
||||
String parsedElementString = parsedElement.toXML().toString();
|
||||
assertEquals(elementString, parsedElementString);
|
||||
}
|
||||
|
||||
|
|
@ -55,7 +55,7 @@ public class StandardExtensionElementParserTest {
|
|||
StandardExtensionElement.Builder builder = StandardExtensionElement.builder("foo", "ns1-value");
|
||||
builder.addAttribute("xmlns:ns2", "ns2-value");
|
||||
builder.addAttribute("ns2:bar", "bar-ns2-value");
|
||||
final String elementString = builder.build().toXML(null).toString();
|
||||
final String elementString = builder.build().toXML().toString();
|
||||
|
||||
StandardExtensionElement parsedElement = StandardExtensionElementProvider.INSTANCE.parse(getParserFor(elementString));
|
||||
assertEquals("foo", parsedElement.getElementName());
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ public class PacketParserUtilsTest {
|
|||
assertTrue(message.getBodyLanguages().isEmpty());
|
||||
assertEquals(defaultLanguage, message.getBody(defaultLanguage));
|
||||
assertNull(message.getBody(otherLanguage));
|
||||
assertXMLEqual(control, message.toXML(null).toString());
|
||||
assertXMLEqual(control, message.toXML().toString());
|
||||
|
||||
// message has non-default language, body has no language
|
||||
control = XMLBuilder.create("message")
|
||||
|
|
@ -105,7 +105,7 @@ public class PacketParserUtilsTest {
|
|||
assertTrue(message.getBodyLanguages().isEmpty());
|
||||
assertEquals(otherLanguage, message.getBody(otherLanguage));
|
||||
assertNull(message.getBody(defaultLanguage));
|
||||
assertXMLEqual(control, message.toXML(null).toString());
|
||||
assertXMLEqual(control, message.toXML().toString());
|
||||
|
||||
// message has no language, body has no language
|
||||
control = XMLBuilder.create("message")
|
||||
|
|
@ -124,7 +124,7 @@ public class PacketParserUtilsTest {
|
|||
assertTrue(message.getBodyLanguages().isEmpty());
|
||||
assertEquals(defaultLanguage, message.getBody(null));
|
||||
assertNull(message.getBody(otherLanguage));
|
||||
assertXMLEqual(control, message.toXML(null).toString());
|
||||
assertXMLEqual(control, message.toXML().toString());
|
||||
|
||||
// message has no language, body has default language
|
||||
control = XMLBuilder.create("message")
|
||||
|
|
@ -145,7 +145,7 @@ public class PacketParserUtilsTest {
|
|||
assertEquals(defaultLanguage, message.getBody(defaultLanguage));
|
||||
assertNull(message.getBody(otherLanguage));
|
||||
|
||||
assertXMLEqual(control, message.toXML(null).toString());
|
||||
assertXMLEqual(control, message.toXML().toString());
|
||||
|
||||
// message has no language, body has non-default language
|
||||
control = XMLBuilder.create("message")
|
||||
|
|
@ -166,7 +166,7 @@ public class PacketParserUtilsTest {
|
|||
assertTrue(message.getBodyLanguages().contains(otherLanguage));
|
||||
assertEquals(otherLanguage, message.getBody(otherLanguage));
|
||||
assertNull(message.getBody(defaultLanguage));
|
||||
assertXMLEqual(control, message.toXML(null).toString());
|
||||
assertXMLEqual(control, message.toXML().toString());
|
||||
|
||||
// message has default language, body has non-default language
|
||||
control = XMLBuilder.create("message")
|
||||
|
|
@ -188,7 +188,7 @@ public class PacketParserUtilsTest {
|
|||
assertTrue(message.getBodyLanguages().contains(otherLanguage));
|
||||
assertEquals(otherLanguage, message.getBody(otherLanguage));
|
||||
assertNull(message.getBody(defaultLanguage));
|
||||
assertXMLEqual(control, message.toXML(null).toString());
|
||||
assertXMLEqual(control, message.toXML().toString());
|
||||
|
||||
// message has non-default language, body has default language
|
||||
control = XMLBuilder.create("message")
|
||||
|
|
@ -210,7 +210,7 @@ public class PacketParserUtilsTest {
|
|||
assertTrue(message.getBodyLanguages().contains(defaultLanguage));
|
||||
assertEquals(defaultLanguage, message.getBody(defaultLanguage));
|
||||
assertNull(message.getBody(otherLanguage));
|
||||
assertXMLEqual(control, message.toXML(null).toString());
|
||||
assertXMLEqual(control, message.toXML().toString());
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -393,7 +393,7 @@ public class PacketParserUtilsTest {
|
|||
assertEquals(2, message.getBodies().size());
|
||||
assertEquals(1, message.getBodyLanguages().size());
|
||||
assertTrue(message.getBodyLanguages().contains(otherLanguage));
|
||||
assertXMLEqual(control, message.toXML(null).toString());
|
||||
assertXMLEqual(control, message.toXML().toString());
|
||||
|
||||
// message has non-default language, first body no language, second body default language
|
||||
control = XMLBuilder.create("message")
|
||||
|
|
@ -419,7 +419,7 @@ public class PacketParserUtilsTest {
|
|||
assertEquals(2, message.getBodies().size());
|
||||
assertEquals(1, message.getBodyLanguages().size());
|
||||
assertTrue(message.getBodyLanguages().contains(defaultLanguage));
|
||||
assertXMLEqual(control, message.toXML(null).toString());
|
||||
assertXMLEqual(control, message.toXML().toString());
|
||||
}
|
||||
|
||||
// TODO: Re-enable once we throw an exception on duplicate body elements.
|
||||
|
|
@ -452,7 +452,7 @@ public class PacketParserUtilsTest {
|
|||
assertEquals(defaultLanguage, message.getBody(defaultLanguage));
|
||||
assertEquals(1, message.getBodies().size());
|
||||
assertEquals(0, message.getBodyLanguages().size());
|
||||
assertXMLNotEqual(control, message.toXML(null).toString());
|
||||
assertXMLNotEqual(control, message.toXML().toString());
|
||||
}
|
||||
|
||||
@Ignore
|
||||
|
|
@ -510,7 +510,7 @@ public class PacketParserUtilsTest {
|
|||
assertEquals(otherLanguage, message.getBody(otherLanguage));
|
||||
assertEquals(2, message.getBodies().size());
|
||||
assertEquals(1, message.getBodyLanguages().size());
|
||||
assertXMLEqual(control, message.toXML(null).toString());
|
||||
assertXMLEqual(control, message.toXML().toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -692,7 +692,7 @@ public class PacketParserUtilsTest {
|
|||
|
||||
Message message = PacketParserUtils.parseMessage(TestUtils.getMessageParser(control));
|
||||
|
||||
fail("Should throw exception. Instead got message: " + message.toXML(null).toString());
|
||||
fail("Should throw exception. Instead got message: " + message.toXML().toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -763,7 +763,7 @@ public class PacketParserUtilsTest {
|
|||
.asString(outputProperties);
|
||||
|
||||
Stanza message = PacketParserUtils.parseStanza(control);
|
||||
XmlUnitUtils.assertSimilar(control, message.toXML(null));
|
||||
XmlUnitUtils.assertSimilar(control, message.toXML());
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue