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

Use CharSequence instead of String in parseContent()

and parseContentDepth(). This also means that the type of some fields
changed from String to CharSequence.

Also add Matcher for CharSequences.
This commit is contained in:
Florian Schmaus 2014-07-06 21:10:40 +02:00
parent 54b18e3575
commit f671b9e781
10 changed files with 80 additions and 34 deletions

View file

@ -26,9 +26,9 @@ import org.jivesoftware.smack.packet.PacketExtension;
*/
public class SimplePayload implements PacketExtension
{
private String elemName;
private String ns;
private String payload;
private final String elemName;
private final String ns;
private final CharSequence payload;
/**
* Construct a <tt>SimplePayload</tt> object with the specified element name,
@ -38,7 +38,7 @@ public class SimplePayload implements PacketExtension
* @param namespace The namespace of the payload, null if there is none
* @param xmlPayload The payload data
*/
public SimplePayload(String elementName, String namespace, String xmlPayload)
public SimplePayload(String elementName, String namespace, CharSequence xmlPayload)
{
elemName = elementName;
payload = xmlPayload;
@ -55,7 +55,8 @@ public class SimplePayload implements PacketExtension
return ns;
}
public String toXML()
@Override
public CharSequence toXML()
{
return payload;
}

View file

@ -54,7 +54,7 @@ public class ItemProvider implements PacketExtensionProvider
if (ProviderManager.getExtensionProvider(payloadElemName, payloadNS) == null)
{
String payloadText = PacketParserUtils.parseElement(parser);
CharSequence payloadText = PacketParserUtils.parseElement(parser);
return new PayloadItem<SimplePayload>(id, node, new SimplePayload(payloadElemName, payloadNS, payloadText));
}
else

View file

@ -148,7 +148,7 @@ public class ItemValidationTest extends InitExtensions {
SimplePayload payload = (SimplePayload) item.getPayload();
assertEquals("foo", payload.getElementName());
assertEquals("smack:test", payload.getNamespace());
assertXMLEqual(itemContent, payload.toXML());
assertXMLEqual(itemContent, payload.toXML().toString());
}
@Test
@ -195,7 +195,7 @@ public class ItemValidationTest extends InitExtensions {
SimplePayload payload = (SimplePayload) item.getPayload();
assertEquals("entry", payload.getElementName());
assertEquals("http://www.w3.org/2005/Atom", payload.getNamespace());
assertXMLEqual(itemContent, payload.toXML());
assertXMLEqual(itemContent, payload.toXML().toString());
}
@Test
@ -231,6 +231,6 @@ public class ItemValidationTest extends InitExtensions {
assertEquals("testid1", item.getId());
assertTrue(item.getPayload() instanceof SimplePayload);
assertXMLEqual(itemContent, ((SimplePayload)item.getPayload()).toXML());
assertXMLEqual(itemContent, ((SimplePayload)item.getPayload()).toXML().toString());
}
}

View file

@ -16,6 +16,7 @@
*/
package org.jivesoftware.smackx.xhtmlim.provider;
import static org.jivesoftware.smack.test.util.CharsequenceEquals.equalsCharSequence;
import org.jivesoftware.smack.packet.PacketExtension;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smackx.xhtmlim.packet.XHTMLExtension;
@ -26,8 +27,6 @@ import org.xmlpull.v1.XmlPullParserException;
import java.io.IOException;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
@ -43,10 +42,10 @@ public class XHTMLExtensionProviderTest {
XHTMLExtensionProvider provider = new XHTMLExtensionProvider();
PacketExtension extension = provider.parseExtension(parser);
assertThat(extension, is(instanceOf(XHTMLExtension.class)));
assertThat(extension, instanceOf(XHTMLExtension.class));
XHTMLExtension attachmentsInfo = (XHTMLExtension) extension;
assertEquals(sampleXhtml(), attachmentsInfo.getBodies().get(0));
assertThat(sampleXhtml(), equalsCharSequence(attachmentsInfo.getBodies().get(0)));
}
private String sampleXhtml() {