1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2025-09-10 01:29:38 +02:00

Process all XML namespaces in PubSub ItemProvider

Fixes SMACK-601
This commit is contained in:
Florian Schmaus 2014-08-29 14:59:54 +02:00
parent 1e5f0eb749
commit b5b134f569
4 changed files with 46 additions and 9 deletions

View file

@ -67,7 +67,7 @@ public class ParsingExceptionTest {
try {
PacketParserUtils.parseMessage(parser);
} catch (Exception e) {
content = PacketParserUtils.parseContentDepth(parser, parserDepth);
content = PacketParserUtils.parseContentDepth(parser, parserDepth, false);
}
assertNotNull(content);
assertEquals(MESSAGE_EXCEPTION_ELEMENT + EXTENSION2 + "</message>", content);

View file

@ -24,9 +24,14 @@ import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.io.IOException;
import java.util.Locale;
import java.util.Properties;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;
import org.custommonkey.xmlunit.Diff;
import org.custommonkey.xmlunit.examples.RecursiveElementNameAndTextQualifier;
import org.jivesoftware.smack.packet.Message;
@ -34,6 +39,7 @@ import org.jivesoftware.smack.packet.Packet;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.test.util.TestUtils;
import org.junit.Test;
import org.xml.sax.SAXException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@ -790,6 +796,23 @@ public class PacketParserUtilsTest {
assertEquals("", content);
}
@Test
public void parseElementMultipleNamespace()
throws ParserConfigurationException,
FactoryConfigurationError, XmlPullParserException,
IOException, TransformerException, SAXException {
// @formatter:off
final String stanza = XMLBuilder.create("outer", "outerNamespace").a("outerAttribute", "outerValue")
.element("inner", "innerNamespace").a("innverAttribute", "innerValue")
.element("innermost")
.t("some text")
.asString();
// @formatter:on
XmlPullParser parser = TestUtils.getParser(stanza, "outer");
String result = PacketParserUtils.parseElement(parser, true);
assertXMLEqual(stanza, result);
}
private String determineNonDefaultLanguage() {
String otherLanguage = "jp";
Locale[] availableLocales = Locale.getAvailableLocales();