From d0c0c11e83798904672f4bb88cd0fdcc93d4570b Mon Sep 17 00:00:00 2001 From: Gordon Sim Date: Thu, 18 Mar 2010 18:37:28 +0000 Subject: QPID-2452: Fixed control over the encoding used when sending a string valued variant. The user is currently responsible for correctly setting any encoding (e.g. utf8). If none is specified it will be transfered as an amqp0-10 vbin. Fixed bug preventing correct assignment of encoding in variants. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@924939 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/tests/MessagingSessionTests.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'qpid/cpp/src/tests/MessagingSessionTests.cpp') diff --git a/qpid/cpp/src/tests/MessagingSessionTests.cpp b/qpid/cpp/src/tests/MessagingSessionTests.cpp index dea98216b4..a1e90f83f3 100644 --- a/qpid/cpp/src/tests/MessagingSessionTests.cpp +++ b/qpid/cpp/src/tests/MessagingSessionTests.cpp @@ -336,6 +336,12 @@ QPID_AUTO_TEST_CASE(testMapMessage) MapContent content(out); content["abc"] = "def"; content["pi"] = 3.14f; + Variant utf8("A utf 8 string"); + utf8.setEncoding("utf8"); + content["utf8"] = utf8; + Variant utf16("\x00\x61\x00\x62\x00\x63"); + utf16.setEncoding("utf16"); + content["utf16"] = utf16; content.encode(); sender.send(out); Receiver receiver = fix.session.createReceiver(fix.queue); @@ -343,6 +349,10 @@ QPID_AUTO_TEST_CASE(testMapMessage) MapView view(in); BOOST_CHECK_EQUAL(view["abc"].asString(), "def"); BOOST_CHECK_EQUAL(view["pi"].asFloat(), 3.14f); + BOOST_CHECK_EQUAL(view["utf8"].asString(), utf8.asString()); + BOOST_CHECK_EQUAL(view["utf8"].getEncoding(), utf8.getEncoding()); + BOOST_CHECK_EQUAL(view["utf16"].asString(), utf16.asString()); + BOOST_CHECK_EQUAL(view["utf16"].getEncoding(), utf16.getEncoding()); fix.session.acknowledge(); } -- cgit v1.2.1