From 2c55c2ac65a0aa5f55c96d3dabc86f3fe983aacf Mon Sep 17 00:00:00 2001 From: rcollier Date: Wed, 30 Mar 2011 00:43:35 +0000 Subject: [PATCH] SMACK-334 FileTransferNegotiator now passes the correct type in the stream-method variable. git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12212 b35dd754-fafc-0310-a699-88a17e54d16e --- .../filetransfer/FileTransferNegotiator.java | 2 +- .../FileTransferNegotiatorTest.java | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 test-unit/org/jivesoftware/smackx/filetransfer/FileTransferNegotiatorTest.java diff --git a/source/org/jivesoftware/smackx/filetransfer/FileTransferNegotiator.java b/source/org/jivesoftware/smackx/filetransfer/FileTransferNegotiator.java index cd74c1ff7..06ec67316 100644 --- a/source/org/jivesoftware/smackx/filetransfer/FileTransferNegotiator.java +++ b/source/org/jivesoftware/smackx/filetransfer/FileTransferNegotiator.java @@ -473,7 +473,7 @@ public class FileTransferNegotiator { private DataForm createDefaultInitiationForm() { DataForm form = new DataForm(Form.TYPE_FORM); FormField field = new FormField(STREAM_DATA_FIELD_NAME); - field.setType(FormField.TYPE_LIST_MULTI); + field.setType(FormField.TYPE_LIST_SINGLE); if (!IBB_ONLY) { field.addOption(new FormField.Option(Socks5BytestreamManager.NAMESPACE)); } diff --git a/test-unit/org/jivesoftware/smackx/filetransfer/FileTransferNegotiatorTest.java b/test-unit/org/jivesoftware/smackx/filetransfer/FileTransferNegotiatorTest.java new file mode 100644 index 000000000..9a6e6cd63 --- /dev/null +++ b/test-unit/org/jivesoftware/smackx/filetransfer/FileTransferNegotiatorTest.java @@ -0,0 +1,41 @@ +package org.jivesoftware.smackx.filetransfer; + +import static org.junit.Assert.*; + +import org.jivesoftware.smack.DummyConnection; +import org.jivesoftware.smack.XMPPException; +import org.jivesoftware.smack.packet.Packet; +import org.jivesoftware.smackx.ServiceDiscoveryManager; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class FileTransferNegotiatorTest { + private DummyConnection connection; + + @Before + public void setUp() throws Exception { + // Uncomment this to enable debug output + //Connection.DEBUG_ENABLED = true; + + connection = new DummyConnection(); + connection.connect(); + connection.login("me", "secret"); + new ServiceDiscoveryManager(connection); + } + + @After + public void tearDown() throws Exception { + if (connection != null) + connection.disconnect(); + } + + @Test + public void verifyForm() throws Exception + { + FileTransferNegotiator fileNeg = FileTransferNegotiator.getInstanceFor(connection); + fileNeg.negotiateOutgoingTransfer("me", "streamid", "file", 1024, null, 10); + Packet packet = connection.getSentPacket(); + assertTrue(packet.toXML().indexOf("\"stream-method\" type=\"list-single\"") != -1); + } +}