]> git.ipfire.org Git - thirdparty/snapper.git/commitdiff
- added testcases
authorArvin Schnell <aschnell@suse.de>
Mon, 19 Jan 2015 11:45:27 +0000 (12:45 +0100)
committerArvin Schnell <aschnell@suse.de>
Mon, 19 Jan 2015 11:45:27 +0000 (12:45 +0100)
testsuite/Makefile.am
testsuite/dbus-escape.cc [new file with mode: 0644]

index 7477dc7b22c0cf7d1ce451ac25909f8a7414a6ce..cfa2b1710e01931f8f0b86eb659d170ec699a508 100644 (file)
@@ -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 (file)
index 0000000..c79dca0
--- /dev/null
@@ -0,0 +1,37 @@
+
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE dbus_escape
+
+#include <boost/test/unit_test.hpp>
+
+#include <dbus/DBusMessage.h>
+
+
+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);
+}