mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-12-09 20:41:07 +01:00
Introduce FormFieldChildElement and make FormField immutable
This commit is contained in:
parent
1a99801501
commit
4d36e3b521
36 changed files with 1191 additions and 490 deletions
|
|
@ -117,31 +117,31 @@ public class EntityCapsManagerTest extends InitExtensions {
|
|||
|
||||
DataForm df = new DataForm(DataForm.Type.result);
|
||||
|
||||
FormField ff = new FormField("os");
|
||||
FormField.Builder ff = FormField.builder("os");
|
||||
ff.addValue("Mac");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("FORM_TYPE");
|
||||
ff = FormField.builder("FORM_TYPE");
|
||||
ff.setType(FormField.Type.hidden);
|
||||
ff.addValue("urn:xmpp:dataforms:softwareinfo");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("ip_version");
|
||||
ff = FormField.builder("ip_version");
|
||||
ff.addValue("ipv4");
|
||||
ff.addValue("ipv6");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("os_version");
|
||||
ff = FormField.builder("os_version");
|
||||
ff.addValue("10.5.1");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("software");
|
||||
ff = FormField.builder("software");
|
||||
ff.addValue("Psi");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("software_version");
|
||||
ff = FormField.builder("software_version");
|
||||
ff.addValue("0.11");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
di.addExtension(df);
|
||||
return di;
|
||||
|
|
@ -174,31 +174,31 @@ public class EntityCapsManagerTest extends InitExtensions {
|
|||
|
||||
DataForm df = new DataForm(DataForm.Type.result);
|
||||
|
||||
FormField ff = new FormField("os");
|
||||
FormField.Builder ff = FormField.builder("os");
|
||||
ff.addValue("Mac");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("FORM_TYPE");
|
||||
ff = FormField.builder("FORM_TYPE");
|
||||
ff.setType(FormField.Type.hidden);
|
||||
ff.addValue("urn:xmpp:dataforms:softwareinfo");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("ip_version");
|
||||
ff = FormField.builder("ip_version");
|
||||
ff.addValue("ipv4");
|
||||
ff.addValue("ipv6");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("os_version");
|
||||
ff = FormField.builder("os_version");
|
||||
ff.addValue("10.5.1");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("software");
|
||||
ff = FormField.builder("software");
|
||||
ff.addValue("Psi");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("software_version");
|
||||
ff = FormField.builder("software_version");
|
||||
ff.addValue("0.11");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
di.addExtension(df);
|
||||
|
||||
|
|
@ -206,14 +206,14 @@ public class EntityCapsManagerTest extends InitExtensions {
|
|||
// FORM_TYPE
|
||||
df = new DataForm(DataForm.Type.result);
|
||||
|
||||
ff = new FormField("FORM_TYPE");
|
||||
ff = FormField.builder("FORM_TYPE");
|
||||
ff.setType(FormField.Type.hidden);
|
||||
ff.addValue("urn:xmpp:dataforms:softwareinfo");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
ff = new FormField("software");
|
||||
ff = FormField.builder("software");
|
||||
ff.addValue("smack");
|
||||
df.addField(ff);
|
||||
df.addField(ff.build());
|
||||
|
||||
di.addExtension(df);
|
||||
|
||||
|
|
|
|||
|
|
@ -42,17 +42,17 @@ public class RoomInfoTest {
|
|||
public void validateRoomWithForm() {
|
||||
DataForm dataForm = new DataForm(DataForm.Type.result);
|
||||
|
||||
FormField desc = new FormField("muc#roominfo_description");
|
||||
FormField.Builder desc = FormField.builder("muc#roominfo_description");
|
||||
desc.addValue("The place for all good witches!");
|
||||
dataForm.addField(desc);
|
||||
dataForm.addField(desc.build());
|
||||
|
||||
FormField subject = new FormField("muc#roominfo_subject");
|
||||
FormField.Builder subject = FormField.builder("muc#roominfo_subject");
|
||||
subject.addValue("Spells");
|
||||
dataForm.addField(subject);
|
||||
dataForm.addField(subject.build());
|
||||
|
||||
FormField occupants = new FormField("muc#roominfo_occupants");
|
||||
FormField.Builder occupants = FormField.builder("muc#roominfo_occupants");
|
||||
occupants.addValue("3");
|
||||
dataForm.addField(occupants);
|
||||
dataForm.addField(occupants.build());
|
||||
|
||||
DiscoverInfo discoInfo = new DiscoverInfo();
|
||||
discoInfo.addExtension(dataForm);
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals;
|
|||
import static org.junit.Assert.assertNotNull;
|
||||
|
||||
import org.jivesoftware.smack.packet.Element;
|
||||
import org.jivesoftware.smack.test.util.SmackTestSuite;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
||||
|
|
@ -41,9 +42,9 @@ import org.junit.Test;
|
|||
* @author Anno van Vliet
|
||||
*
|
||||
*/
|
||||
public class DataFormTest {
|
||||
private static final String TEST_OUTPUT_1 = "<x xmlns='jabber:x:data' type='submit'><instructions>InstructionTest1</instructions><field var='testField1'></field></x>";
|
||||
private static final String TEST_OUTPUT_2 = "<x xmlns='jabber:x:data' type='submit'><instructions>InstructionTest1</instructions><field var='testField1'></field><page xmlns='http://jabber.org/protocol/xdata-layout' label='Label'><fieldref var='testField1'/><section label='section Label'><text>SectionText</text></section><text>PageText</text></page></x>";
|
||||
public class DataFormTest extends SmackTestSuite {
|
||||
private static final String TEST_OUTPUT_1 = "<x xmlns='jabber:x:data' type='submit'><instructions>InstructionTest1</instructions><field var='testField1'/></x>";
|
||||
private static final String TEST_OUTPUT_2 = "<x xmlns='jabber:x:data' type='submit'><instructions>InstructionTest1</instructions><field var='testField1'/><page xmlns='http://jabber.org/protocol/xdata-layout' label='Label'><fieldref var='testField1'/><section label='section Label'><text>SectionText</text></section><text>PageText</text></page></x>";
|
||||
private static final String TEST_OUTPUT_3 = "<x xmlns='jabber:x:data' type='submit'><instructions>InstructionTest1</instructions><field var='testField1'><validate xmlns='http://jabber.org/protocol/xdata-validate' datatype='xs:integer'><range min='1111' max='9999'/></validate></field></x>";
|
||||
|
||||
private static final DataFormProvider pr = new DataFormProvider();
|
||||
|
|
@ -54,7 +55,7 @@ public class DataFormTest {
|
|||
DataForm df = new DataForm(DataForm.Type.submit);
|
||||
String instruction = "InstructionTest1";
|
||||
df.addInstruction(instruction);
|
||||
FormField field = new FormField("testField1");
|
||||
FormField field = FormField.builder("testField1").build();
|
||||
df.addField(field);
|
||||
|
||||
assertNotNull(df.toXML());
|
||||
|
|
@ -81,7 +82,7 @@ public class DataFormTest {
|
|||
DataForm df = new DataForm(DataForm.Type.submit);
|
||||
String instruction = "InstructionTest1";
|
||||
df.addInstruction(instruction);
|
||||
FormField field = new FormField("testField1");
|
||||
FormField field = FormField.builder("testField1").build();
|
||||
df.addField(field);
|
||||
|
||||
DataLayout layout = new DataLayout("Label");
|
||||
|
|
@ -123,11 +124,12 @@ public class DataFormTest {
|
|||
DataForm df = new DataForm(DataForm.Type.submit);
|
||||
String instruction = "InstructionTest1";
|
||||
df.addInstruction(instruction);
|
||||
FormField field = new FormField("testField1");
|
||||
df.addField(field);
|
||||
FormField.Builder fieldBuilder = FormField.builder("testField1");
|
||||
|
||||
ValidateElement dv = new RangeValidateElement("xs:integer", "1111", "9999");
|
||||
field.setValidateElement(dv);
|
||||
fieldBuilder.addFormFieldChildElement(dv);
|
||||
|
||||
df.addField(fieldBuilder.build());
|
||||
|
||||
assertNotNull(df.toXML());
|
||||
String output = df.toXML().toString();
|
||||
|
|
@ -140,7 +142,7 @@ public class DataFormTest {
|
|||
assertNotNull(df);
|
||||
assertNotNull(df.getFields());
|
||||
assertEquals(1 , df.getFields().size());
|
||||
Element element = df.getFields().get(0).getValidateElement();
|
||||
Element element = ValidateElement.from(df.getFields().get(0));
|
||||
assertNotNull(element);
|
||||
dv = (ValidateElement) element;
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
package org.jivesoftware.smackx.xdatavalidation;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.fail;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
import org.jivesoftware.smackx.xdata.FormField;
|
||||
import org.jivesoftware.smackx.xdatavalidation.packet.ValidateElement.BasicValidateElement;
|
||||
|
|
@ -26,7 +26,7 @@ import org.jivesoftware.smackx.xdatavalidation.packet.ValidateElement.OpenValida
|
|||
import org.jivesoftware.smackx.xdatavalidation.packet.ValidateElement.RangeValidateElement;
|
||||
import org.jivesoftware.smackx.xdatavalidation.packet.ValidateElement.RegexValidateElement;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
/**
|
||||
* Data validation helper test.
|
||||
|
|
@ -35,81 +35,55 @@ import org.junit.Test;
|
|||
*/
|
||||
public class DataValidationHelperTest {
|
||||
|
||||
|
||||
@Test
|
||||
public void testCheckConsistencyFormFieldBasicValidateElement() {
|
||||
FormField field = new FormField("var");
|
||||
field.setType(FormField.Type.jid_single);
|
||||
FormField.Builder field = FormField.builder("var")
|
||||
.setType(FormField.Type.jid_single);
|
||||
BasicValidateElement element = new BasicValidateElement(null);
|
||||
try {
|
||||
element.checkConsistency(field);
|
||||
fail("No correct check on consistency");
|
||||
}
|
||||
catch (ValidationConsistencyException e) {
|
||||
assertEquals("Field type 'jid-single' is not consistent with validation method 'basic'.", e.getMessage());
|
||||
}
|
||||
ValidationConsistencyException vce = assertThrows(ValidationConsistencyException.class,
|
||||
() -> element.checkConsistency(field));
|
||||
assertEquals("Field type 'jid-single' is not consistent with validation method 'basic'.", vce.getMessage());
|
||||
|
||||
try {
|
||||
new ListRange(-1L, 1L);
|
||||
fail("No correct check on consistency");
|
||||
}
|
||||
catch (IllegalArgumentException e) {
|
||||
assertEquals("unsigned 32-bit integers can't be negative", e.getMessage());
|
||||
}
|
||||
IllegalArgumentException iae = assertThrows(IllegalArgumentException.class,
|
||||
() -> new ListRange(-1L, 1L));
|
||||
assertEquals("unsigned 32-bit integers can't be negative", iae.getMessage());
|
||||
|
||||
element.setListRange(new ListRange(10L, 100L));
|
||||
try {
|
||||
element.checkConsistency(field);
|
||||
fail("No correct check on consistency");
|
||||
}
|
||||
catch (ValidationConsistencyException e) {
|
||||
assertEquals("Field type is not of type 'list-multi' while a 'list-range' is defined.", e.getMessage());
|
||||
}
|
||||
vce = assertThrows(ValidationConsistencyException.class, () -> element.checkConsistency(field));
|
||||
assertEquals("Field type is not of type 'list-multi' while a 'list-range' is defined.", vce.getMessage());
|
||||
|
||||
field.setType(FormField.Type.list_multi);
|
||||
element.checkConsistency(field);
|
||||
FormField.Builder fieldListMulti = field.setType(FormField.Type.list_multi);
|
||||
element.checkConsistency(fieldListMulti);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testCheckConsistencyFormFieldOpenValidateElement() {
|
||||
FormField field = new FormField("var");
|
||||
field.setType(FormField.Type.hidden);
|
||||
FormField.Builder field = FormField.builder("var")
|
||||
.setType(FormField.Type.hidden);
|
||||
OpenValidateElement element = new OpenValidateElement(null);
|
||||
try {
|
||||
element.checkConsistency(field);
|
||||
fail("No correct check on consistency");
|
||||
}
|
||||
catch (ValidationConsistencyException e) {
|
||||
assertEquals("Field type 'hidden' is not consistent with validation method 'open'.", e.getMessage());
|
||||
}
|
||||
ValidationConsistencyException e = assertThrows(ValidationConsistencyException.class,
|
||||
() -> element.checkConsistency(field));
|
||||
assertEquals("Field type 'hidden' is not consistent with validation method 'open'.", e.getMessage());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCheckConsistencyFormFieldRangeValidateElement() {
|
||||
FormField field = new FormField("var");
|
||||
field.setType(FormField.Type.text_multi);
|
||||
FormField.Builder field = FormField.builder("var")
|
||||
.setType(FormField.Type.text_multi);
|
||||
RangeValidateElement element = new RangeValidateElement("xs:integer", null, "99");
|
||||
try {
|
||||
element.checkConsistency(field);
|
||||
fail("No correct check on consistency");
|
||||
}
|
||||
catch (ValidationConsistencyException e) {
|
||||
assertEquals("Field type 'text-multi' is not consistent with validation method 'range'.", e.getMessage());
|
||||
}
|
||||
ValidationConsistencyException e = assertThrows(ValidationConsistencyException.class,
|
||||
() -> element.checkConsistency(field));
|
||||
assertEquals("Field type 'text-multi' is not consistent with validation method 'range'.", e.getMessage());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCheckConsistencyFormFieldRegexValidateElement() {
|
||||
FormField field = new FormField("var");
|
||||
field.setType(FormField.Type.list_multi);
|
||||
FormField.Builder field = FormField.builder("var")
|
||||
.setType(FormField.Type.list_multi);
|
||||
RegexValidateElement element = new RegexValidateElement(null, ".*");
|
||||
try {
|
||||
element.checkConsistency(field);
|
||||
fail("No correct check on consistency");
|
||||
}
|
||||
catch (ValidationConsistencyException e) {
|
||||
assertEquals("Field type 'list-multi' is not consistent with validation method 'regex'.", e.getMessage());
|
||||
}
|
||||
ValidationConsistencyException e = assertThrows(ValidationConsistencyException.class,
|
||||
() -> element.checkConsistency(field));
|
||||
assertEquals("Field type 'list-multi' is not consistent with validation method 'regex'.", e.getMessage());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,12 +19,13 @@ package org.jivesoftware.smackx.xdatavalidation.provider;
|
|||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
import org.jivesoftware.smack.parsing.SmackParsingException;
|
||||
import org.jivesoftware.smack.test.util.SmackTestSuite;
|
||||
import org.jivesoftware.smack.test.util.SmackTestUtil;
|
||||
import org.jivesoftware.smack.test.util.TestUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
import org.jivesoftware.smack.xml.XmlPullParserException;
|
||||
|
||||
import org.jivesoftware.smackx.xdata.FormField;
|
||||
|
|
@ -35,7 +36,7 @@ import org.jivesoftware.smackx.xdatavalidation.packet.ValidateElement.BasicValid
|
|||
import org.jivesoftware.smackx.xdatavalidation.packet.ValidateElement.ListRange;
|
||||
import org.jivesoftware.smackx.xdatavalidation.packet.ValidateElement.RangeValidateElement;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.EnumSource;
|
||||
|
||||
|
|
@ -44,7 +45,7 @@ import org.junit.jupiter.params.provider.EnumSource;
|
|||
* @author Anno van Vliet
|
||||
*
|
||||
*/
|
||||
public class DataValidationTest {
|
||||
public class DataValidationTest extends SmackTestSuite {
|
||||
private static final String TEST_INPUT_MIN = "<validate xmlns='http://jabber.org/protocol/xdata-validate'></validate>";
|
||||
private static final String TEST_OUTPUT_MIN = "<validate xmlns='http://jabber.org/protocol/xdata-validate'><basic/></validate>";
|
||||
private static final String TEST_OUTPUT_RANGE = "<validate xmlns='http://jabber.org/protocol/xdata-validate' datatype='xs:string'><range min='min-val' max='max-val'/><list-range min='111' max='999'/></validate>";
|
||||
|
|
@ -52,42 +53,50 @@ public class DataValidationTest {
|
|||
private static final String TEST_OUTPUT_FAIL = "<validate xmlns='http://jabber.org/protocol/xdata-validate'><list-range min='1-1-1' max='999'/></validate>";
|
||||
|
||||
@Test
|
||||
public void testMin() throws XmlPullParserException, IOException {
|
||||
|
||||
public void testBasic() {
|
||||
ValidateElement dv = new BasicValidateElement(null);
|
||||
|
||||
assertNotNull(dv.toXML());
|
||||
String output = dv.toXML().toString();
|
||||
assertEquals(TEST_OUTPUT_MIN, output);
|
||||
}
|
||||
|
||||
XmlPullParser parser = getParser(TEST_INPUT_MIN);
|
||||
|
||||
dv = DataValidationProvider.parse(parser);
|
||||
@ParameterizedTest
|
||||
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
|
||||
public void testMin(SmackTestUtil.XmlPullParserKind parserKind) throws XmlPullParserException, IOException, SmackParsingException {
|
||||
ValidateElement dv = SmackTestUtil.parse(TEST_INPUT_MIN, DataValidationProvider.class, parserKind);
|
||||
|
||||
assertNotNull(dv);
|
||||
assertEquals("xs:string", dv.getDatatype());
|
||||
assertTrue(dv instanceof BasicValidateElement);
|
||||
|
||||
assertNotNull(dv.toXML());
|
||||
output = dv.toXML().toString();
|
||||
String output = dv.toXML().toString();
|
||||
assertEquals(TEST_OUTPUT_MIN, output);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRange() throws XmlPullParserException, IOException {
|
||||
|
||||
public void testRangeToXml() {
|
||||
ValidateElement dv = new RangeValidateElement("xs:string", "min-val", "max-val");
|
||||
|
||||
ListRange listRange = new ListRange(111L, 999L);
|
||||
dv.setListRange(listRange);
|
||||
|
||||
assertNotNull(dv.toXML());
|
||||
String output = dv.toXML().toString();
|
||||
assertEquals(TEST_OUTPUT_RANGE, output);
|
||||
}
|
||||
|
||||
XmlPullParser parser = getParser(output);
|
||||
@ParameterizedTest
|
||||
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
|
||||
public void testRange(SmackTestUtil.XmlPullParserKind parserKind)
|
||||
throws XmlPullParserException, IOException, SmackParsingException {
|
||||
ValidateElement dv = new RangeValidateElement("xs:string", "min-val", "max-val");
|
||||
ListRange listRange = new ListRange(111L, 999L);
|
||||
dv.setListRange(listRange);
|
||||
|
||||
dv = DataValidationProvider.parse(parser);
|
||||
String xml = dv.toXML().toString();
|
||||
|
||||
dv = SmackTestUtil.parse(xml, DataValidationProvider.class, parserKind);
|
||||
|
||||
assertNotNull(dv);
|
||||
assertEquals("xs:string", dv.getDatatype());
|
||||
|
|
@ -99,24 +108,27 @@ public class DataValidationTest {
|
|||
assertEquals(Long.valueOf(111), rdv.getListRange().getMin());
|
||||
assertEquals(999, rdv.getListRange().getMax().intValue());
|
||||
|
||||
|
||||
assertNotNull(dv.toXML());
|
||||
output = dv.toXML().toString();
|
||||
assertEquals(TEST_OUTPUT_RANGE, output);
|
||||
xml = dv.toXML().toString();
|
||||
assertEquals(TEST_OUTPUT_RANGE, xml);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRange2() throws XmlPullParserException, IOException {
|
||||
|
||||
public void testRange2ToXml() {
|
||||
ValidateElement dv = new RangeValidateElement(null, null, null);
|
||||
|
||||
assertNotNull(dv.toXML());
|
||||
String output = dv.toXML().toString();
|
||||
assertEquals(TEST_OUTPUT_RANGE2, output);
|
||||
}
|
||||
|
||||
XmlPullParser parser = getParser(output);
|
||||
@ParameterizedTest
|
||||
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
|
||||
public void testRange2(SmackTestUtil.XmlPullParserKind parserKind) throws XmlPullParserException, IOException, SmackParsingException {
|
||||
ValidateElement dv = new RangeValidateElement(null, null, null);
|
||||
String xml = dv.toXML().toString();
|
||||
|
||||
dv = DataValidationProvider.parse(parser);
|
||||
dv = SmackTestUtil.parse(xml, DataValidationProvider.class, parserKind);
|
||||
|
||||
assertNotNull(dv);
|
||||
assertEquals("xs:string", dv.getDatatype());
|
||||
|
|
@ -126,14 +138,15 @@ public class DataValidationTest {
|
|||
assertEquals(null, rdv.getMax());
|
||||
|
||||
assertNotNull(rdv.toXML());
|
||||
output = rdv.toXML().toString();
|
||||
assertEquals(TEST_OUTPUT_RANGE2, output);
|
||||
xml = rdv.toXML().toString();
|
||||
assertEquals(TEST_OUTPUT_RANGE2, xml);
|
||||
}
|
||||
|
||||
@Test(expected = NumberFormatException.class)
|
||||
public void testRangeFailure() throws IOException, XmlPullParserException {
|
||||
XmlPullParser parser = getParser(TEST_OUTPUT_FAIL);
|
||||
DataValidationProvider.parse(parser);
|
||||
@ParameterizedTest
|
||||
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
|
||||
public void testRangeFailure(SmackTestUtil.XmlPullParserKind parserKind) throws IOException, XmlPullParserException {
|
||||
assertThrows(NumberFormatException.class,
|
||||
() -> SmackTestUtil.parse(TEST_OUTPUT_FAIL, DataValidationProvider.class, parserKind));
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
|
|
@ -168,18 +181,8 @@ public class DataValidationTest {
|
|||
assertEquals("Event Name", nameField.getLabel());
|
||||
|
||||
FormField dataStartField = dataForm.getField("date/start");
|
||||
ValidateElement dataStartValidateElement = dataStartField.getValidateElement();
|
||||
ValidateElement dataStartValidateElement = ValidateElement.from(dataStartField);
|
||||
assertEquals("xs:date", dataStartValidateElement.getDatatype());
|
||||
assertTrue(dataStartValidateElement instanceof BasicValidateElement);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param output
|
||||
* @return
|
||||
* @throws XmlPullParserException
|
||||
* @throws IOException
|
||||
*/
|
||||
private static XmlPullParser getParser(String output) throws XmlPullParserException, IOException {
|
||||
return TestUtils.getParser(output, "validate");
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue