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:
parent
54b18e3575
commit
f671b9e781
10 changed files with 80 additions and 34 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue