From: Arvin Schnell Date: Mon, 19 Jan 2015 11:45:27 +0000 (+0100) Subject: - added testcases X-Git-Tag: v0.2.5^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9cbcbd6bac92ae085016aed0470c316347934ee3;p=thirdparty%2Fsnapper.git - added testcases --- diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am index 7477dc7b..cfa2b171 100644 --- a/testsuite/Makefile.am +++ b/testsuite/Makefile.am @@ -2,11 +2,12 @@ # Makefile.am for snapper/testsuite # -AM_CPPFLAGS = -I$(top_srcdir) +AM_CPPFLAGS = -I$(top_srcdir) $(DBUS_CFLAGS) -LDADD = ../snapper/libsnapper.la -lboost_unit_test_framework +LDADD = ../snapper/libsnapper.la ../dbus/libdbus.la -lboost_unit_test_framework -check_PROGRAMS = sysconfig-get1.test dirname1.test basename1.test equal-date.test +check_PROGRAMS = sysconfig-get1.test dirname1.test basename1.test \ + equal-date.test dbus-escape.test TESTS = $(check_PROGRAMS) diff --git a/testsuite/dbus-escape.cc b/testsuite/dbus-escape.cc new file mode 100644 index 00000000..c79dca02 --- /dev/null +++ b/testsuite/dbus-escape.cc @@ -0,0 +1,37 @@ + +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MODULE dbus_escape + +#include + +#include + + +using namespace DBus; + + +BOOST_AUTO_TEST_CASE(escape) +{ + BOOST_CHECK_EQUAL(Hoho::escape("\\"), "\\\\"); + + BOOST_CHECK_EQUAL(Hoho::escape("ä"), "\\xc3\\xa4"); + BOOST_CHECK_EQUAL(Hoho::escape("0ä0"), "0\\xc3\\xa40"); + + BOOST_CHECK_EQUAL(Hoho::escape("\xff"), "\\xff"); +} + + +BOOST_AUTO_TEST_CASE(unescape) +{ + BOOST_CHECK_EQUAL(Hihi::unescape("\\\\"), "\\"); + + BOOST_CHECK_EQUAL(Hihi::unescape("\\xc3\\xa4"), "ä"); + BOOST_CHECK_EQUAL(Hihi::unescape("0\\xc3\\xa40"), "0ä0"); + + BOOST_CHECK_EQUAL(Hihi::unescape("\\xff"), "\xff"); + + BOOST_CHECK_THROW(Hihi::unescape("\\"), MarshallingException); + BOOST_CHECK_THROW(Hihi::unescape("\\x"), MarshallingException); + BOOST_CHECK_THROW(Hihi::unescape("\\x0"), MarshallingException); + BOOST_CHECK_THROW(Hihi::unescape("\\x0?"), MarshallingException); +}