From c7320dab38cb2dda29226eab2c8705b5a132ac87 Mon Sep 17 00:00:00 2001 From: Robert Tari Date: Tue, 17 Aug 2021 01:59:27 +0200 Subject: Add Vala Bindings - src/utils.h: Replace defined strings with static const chars - src/CMakeLists.txt: Add .gir and .vapi generation code - tetsts/CMakeLists.txt: Compile tst_utils_vala + add as test - CMakeLists.txt: Add tst_utils_vala to tests + add modules from cmake/ - cmake/FindGObjectIntrospection.cmake: Add file - cmake/FindVala.cmake.cmake: Add file - .build.yml: Add libgirepository1.0-dev, gobject-introspection, valac dependencies fixes https://github.com/AyatanaIndicators/libayatana-common/issues/22 --- tests/tst_utils.vala | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 tests/tst_utils.vala (limited to 'tests/tst_utils.vala') diff --git a/tests/tst_utils.vala b/tests/tst_utils.vala new file mode 100644 index 0000000..b46fb24 --- /dev/null +++ b/tests/tst_utils.vala @@ -0,0 +1,57 @@ +using AyatanaCommon; +using Environment; + +static int main(string[] args) +{ + assert_true(args.length == 2); + + unset_variable("XDG_CURRENT_DESKTOP"); + + assert_false(utils_is_lomiri()); + set_variable("XDG_CURRENT_DESKTOP", "Lomiri", true); + assert_true(utils_is_lomiri()); + + assert_false(utils_is_gnome()); + set_variable("XDG_CURRENT_DESKTOP", "GNOME", true); + assert_true(utils_is_gnome()); + + assert_false(utils_is_unity()); + set_variable("XDG_CURRENT_DESKTOP", "Unity", true); + assert_true(utils_is_unity()); + + assert_false(utils_is_mate()); + set_variable("XDG_CURRENT_DESKTOP", "MATE", true); + assert_true(utils_is_mate()); + + assert_false(utils_is_xfce()); + set_variable("XDG_CURRENT_DESKTOP", "XFCE", true); + assert_true(utils_is_xfce()); + + assert_false(utils_is_pantheon()); + set_variable("XDG_CURRENT_DESKTOP", "PANTHEON", true); + assert_true(utils_is_pantheon()); + + assert_false(utils_is_budgie()); + set_variable("XDG_CURRENT_DESKTOP", "Budgie:GNOME", true); + assert_true(utils_is_budgie()); + + unset_variable("XDG_CURRENT_DESKTOP"); + set_variable("GSETTINGS_SCHEMA_DIR", args[1], true); + set_variable("GSETTINGS_BACKEND", "memory", true); + + Settings pSettings = new Settings("org.ayatana.common"); + string sTest = "123456789012345678901234567890123456789012345öüóőúéáűšđß"; + pSettings.set_uint("max-menu-text-length", 0); + utils_ellipsize(sTest); + assert_true(sTest == "123456789012345678901234567890123456789012345öüóőúéáűšđß"); + + pSettings.set_uint("max-menu-text-length", 100); + utils_ellipsize(sTest); + assert_true(sTest == "123456789012345678901234567890123456789012345öüóőúéáűšđß"); + + pSettings.set_uint("max-menu-text-length", 50); + utils_ellipsize(sTest); + assert_true(sTest == "123456789012345678901234567890123456789012345öüóőú..."); + + return 0; +} -- cgit v1.2.3