diff options
author | Tim Robbings <tim.robbings@isode.com> | 2014-10-22 09:06:10 (GMT) |
---|---|---|
committer | Swift Review <review@swift.im> | 2014-10-28 10:00:39 (GMT) |
commit | 47cad5fd7883b8c7273ea11073643aa585b485c6 (patch) | |
tree | 1d7bc39fc1c847e0bbe88716257a9a0710ac8745 /test/com/isode/stroke/parser/payloadparsers/FormParserTest.java | |
parent | 244aff320257d178bbe35d87b0e09d939bd2f893 (diff) | |
download | stroke-47cad5fd7883b8c7273ea11073643aa585b485c6.zip stroke-47cad5fd7883b8c7273ea11073643aa585b485c6.tar.bz2 |
Stroke FormField refactoring
Changes to catch up with Swiften changes to FormField in commit 00284e5,
also adds <reported/> and <item/> elements, added to Swiften in commit 83afa3d.
Changes include refactoring of the FormField class, changes to Form parser
and serializer classes and updates to JUnit tests.
Test-information:
Tested using updated JUnit tests, all tests complete successfully.
Change-Id: Ic91ad4a11a335fb3d2b2a2c4a1865f836e2af70b
Reviewer: Alex Clayton <alex.clayton@isode.com>
Reviewer: Gurmeen Bindra <gurmeen.bindra@isode.com>
Diffstat (limited to 'test/com/isode/stroke/parser/payloadparsers/FormParserTest.java')
-rw-r--r-- | test/com/isode/stroke/parser/payloadparsers/FormParserTest.java | 81 |
1 files changed, 41 insertions, 40 deletions
diff --git a/test/com/isode/stroke/parser/payloadparsers/FormParserTest.java b/test/com/isode/stroke/parser/payloadparsers/FormParserTest.java index 5dace99..4ab8190 100644 --- a/test/com/isode/stroke/parser/payloadparsers/FormParserTest.java +++ b/test/com/isode/stroke/parser/payloadparsers/FormParserTest.java @@ -1,12 +1,11 @@ /* - * Copyright (c) 2012 Isode Limited, London, England. + * Copyright (c) 2012-2014 Isode Limited, London, England. * All rights reserved. */ /* * Copyright (c) 2010 Remko Tronçon * All rights reserved. */ - package com.isode.stroke.parser.payloadparsers; import static org.junit.Assert.assertEquals; @@ -16,16 +15,8 @@ import org.junit.BeforeClass; import org.junit.Test; import com.isode.stroke.elements.Form; -import com.isode.stroke.elements.Payload; import com.isode.stroke.elements.Form.Type; -import com.isode.stroke.elements.FormField.BooleanFormField; -import com.isode.stroke.elements.FormField.FixedFormField; -import com.isode.stroke.elements.FormField.HiddenFormField; -import com.isode.stroke.elements.FormField.JIDMultiFormField; -import com.isode.stroke.elements.FormField.ListMultiFormField; -import com.isode.stroke.elements.FormField.ListSingleFormField; -import com.isode.stroke.elements.FormField.TextMultiFormField; -import com.isode.stroke.elements.FormField.TextSingleFormField; +import com.isode.stroke.elements.Payload; import com.isode.stroke.eventloop.DummyEventLoop; import com.isode.stroke.jid.JID; @@ -73,6 +64,16 @@ public class FormParserTest { + "<field type=\"hidden\" var=\"FORM_TYPE\">" + "<value>jabber:bot</value>" + "</field>" + + "<reported>" + + "<field var=\"field name\" label=\"description\" type=\"unknown\">" + + "<value>someText</value>" + + "</field>" + + "</reported>" + + "<item>" + + "<field label=\"itemField\">" + + "<value>itemValue</value>" + + "</field>" + + "</item>" + "<field type=\"fixed\"><value>Section 1: Bot Info</value></field>" + "<field label=\"The name of your bot\" type=\"text-single\" var=\"botname\"/>" + "<field label=\"Helpful description of your bot\" type=\"text-multi\" var=\"description\"><value>This is a bot.</value><value>A quite good one actually</value></field>" @@ -103,57 +104,57 @@ public class FormParserTest { + "<desc>Tell all your friends about your new bot!</desc>" + "<value>foo@bar.com</value>" + "<value>baz@fum.org</value>" + "</field>" + "<field var=\"untyped\">" + "<value>foo</value>" - + "</field>" + "</x>"); + + "</field>" + + "</x>"); + + assertEquals(10, payload.getFields().size()); - assertEquals("jabber:bot", ((HiddenFormField) (payload.getFields() - .get(0))).getValue()); + + assertEquals("jabber:bot", payload.getFields().get(0).getValues().get(0)); + assertEquals("FORM_TYPE", payload.getFields().get(0).getName()); assertTrue(!payload.getFields().get(0).getRequired()); + + assertEquals("description", payload.getReportedFields().get(0).getLabel()); + assertEquals("someText", payload.getReportedFields().get(0).getValues().get(0)); + assertEquals("itemField", payload.getItems().get(0).getItemFields().get(0).getLabel()); + assertEquals("itemValue", payload.getItems().get(0).getItemFields().get(0).getValues().get(0)); - assertEquals("Section 1: Bot Info", ((FixedFormField) (payload - .getFields().get(1))).getValue()); + assertEquals("Section 1: Bot Info", payload.getFields().get(1).getValues().get(0)); assertEquals("The name of your bot", payload.getFields().get(2) .getLabel()); assertEquals("This is a bot.\nA quite good one actually", - ((TextMultiFormField) (payload.getFields().get(3))).getValue()); + payload.getFields().get(3).getTextMultiValue()); - assertEquals(Boolean.TRUE, ((BooleanFormField) (payload.getFields() - .get(4))).getValue()); + assertEquals(Boolean.TRUE, payload.getFields() + .get(4).getBoolValue()); assertTrue(payload.getFields().get(4).getRequired()); - assertEquals("1", ((BooleanFormField) (payload.getFields().get(4))) - .getRawValues().get(0)); + assertEquals("1", payload.getFields().get(4).getValues().get(0)); - assertEquals("news", - ((ListMultiFormField) (payload.getFields().get(6))).getValue() - .get(0)); - assertEquals("news", payload.getFields().get(6).getRawValues().get(0)); - assertEquals("search", ((ListMultiFormField) (payload.getFields() - .get(6))).getValue().get(1)); - assertEquals("search", payload.getFields().get(6).getRawValues().get(1)); + assertEquals("news", payload.getFields().get(6).getValues().get(0)); + assertEquals("search", payload.getFields().get(6).getValues().get(1)); assertEquals(5, payload.getFields().get(6).getOptions().size()); assertEquals("Contests", - payload.getFields().get(6).getOptions().get(0).label); + payload.getFields().get(6).getOptions().get(0).label_); assertEquals("contests", - payload.getFields().get(6).getOptions().get(0).value); + payload.getFields().get(6).getOptions().get(0).value_); assertEquals("News", - payload.getFields().get(6).getOptions().get(1).label); + payload.getFields().get(6).getOptions().get(1).label_); assertEquals("news", - payload.getFields().get(6).getOptions().get(1).value); + payload.getFields().get(6).getOptions().get(1).value_); - assertEquals("20", ((ListSingleFormField) (payload.getFields().get(7))) - .getValue()); + assertEquals("20", payload.getFields().get(7).getValues().get(0)); - assertEquals(new JID("foo@bar.com"), ((JIDMultiFormField) (payload - .getFields().get(8))).getValue().get(0)); - assertEquals(new JID("baz@fum.org"), ((JIDMultiFormField) (payload - .getFields().get(8))).getValue().get(1)); + assertEquals(new JID("foo@bar.com"), payload + .getFields().get(8).getJIDMultiValue(0)); + assertEquals(new JID("baz@fum.org"), payload + .getFields().get(8).getJIDMultiValue(1)); assertEquals("Tell all your friends about your new bot!", payload .getFields().get(8).getDescription()); - assertEquals("foo", - ((TextSingleFormField) (payload.getFields().get(9))).getValue()); + assertEquals("foo", payload.getFields().get(9).getValues().get(0)); } }
\ No newline at end of file |