mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-09-10 09:39:39 +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
|
@ -16,8 +16,8 @@
|
|||
*/
|
||||
package org.jivesoftware.smack.parsing;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.jivesoftware.smack.test.util.CharsequenceEquals.equalsCharSequence;
|
||||
|
||||
import org.jivesoftware.smack.SmackException;
|
||||
import org.jivesoftware.smack.packet.PacketExtension;
|
||||
|
@ -63,14 +63,13 @@ public class ParsingExceptionTest {
|
|||
EXTENSION2 +
|
||||
"</message>");
|
||||
int parserDepth = parser.getDepth();
|
||||
String content = null;
|
||||
CharSequence content = null;
|
||||
try {
|
||||
PacketParserUtils.parseMessage(parser);
|
||||
} catch (Exception e) {
|
||||
content = PacketParserUtils.parseContentDepth(parser, parserDepth);
|
||||
}
|
||||
assertNotNull(content);
|
||||
assertEquals(MESSAGE_EXCEPTION_ELEMENT + EXTENSION2 + "</message>", content);
|
||||
assertThat(MESSAGE_EXCEPTION_ELEMENT + EXTENSION2 + "</message>", equalsCharSequence(content));
|
||||
}
|
||||
|
||||
static class ThrowException implements PacketExtensionProvider {
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
/**
|
||||
*
|
||||
* Copyright © 2014 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.test.util;
|
||||
|
||||
import org.hamcrest.Description;
|
||||
import org.hamcrest.Factory;
|
||||
import org.hamcrest.Matcher;
|
||||
import org.hamcrest.TypeSafeMatcher;
|
||||
|
||||
public class CharsequenceEquals extends TypeSafeMatcher<CharSequence> {
|
||||
|
||||
private final String charSequenceString;
|
||||
|
||||
public CharsequenceEquals(CharSequence charSequence) {
|
||||
charSequenceString = charSequence.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void describeTo(Description description) {
|
||||
description.appendText("Does not match CharSequence ").appendValue(charSequenceString);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean matchesSafely(CharSequence item) {
|
||||
String itemString = item.toString();
|
||||
return charSequenceString.equals(itemString);
|
||||
}
|
||||
|
||||
@Factory
|
||||
public static Matcher<CharSequence> equalsCharSequence(CharSequence charSequence) {
|
||||
return new CharsequenceEquals(charSequence);
|
||||
}
|
||||
}
|
|
@ -786,7 +786,7 @@ public class PacketParserUtilsTest {
|
|||
public void parseContentDepthTest() throws Exception {
|
||||
final String stanza = "<iq type='result' to='foo@bar.com' from='baz.com' id='42'/>";
|
||||
XmlPullParser parser = TestUtils.getParser(stanza, "iq");
|
||||
String content = PacketParserUtils.parseContent(parser);
|
||||
CharSequence content = PacketParserUtils.parseContent(parser);
|
||||
assertEquals("", content);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue