diff options
author | Robert Tari <robert@tari.in> | 2021-10-18 22:14:06 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2021-10-21 11:07:27 +0200 |
commit | 46837276fb52c4e1c6af7a4cb26d4cc18cb60e20 (patch) | |
tree | 4876cf1c9b9093f859ceb71c81f1dd12a66bd127 | |
parent | 3298ec465f0f83ab1a355c5ee914c3a988cd9455 (diff) | |
download | libayatana-common-46837276fb52c4e1c6af7a4cb26d4cc18cb60e20.tar.gz libayatana-common-46837276fb52c4e1c6af7a4cb26d4cc18cb60e20.tar.bz2 libayatana-common-46837276fb52c4e1c6af7a4cb26d4cc18cb60e20.zip |
Manage DESKTOP_SESSION in unit tests
-rw-r--r-- | tests/tst_utils.cpp | 20 | ||||
-rw-r--r-- | tests/tst_utils.vala | 21 |
2 files changed, 40 insertions, 1 deletions
diff --git a/tests/tst_utils.cpp b/tests/tst_utils.cpp index c6b82fb..a1cf7c5 100644 --- a/tests/tst_utils.cpp +++ b/tests/tst_utils.cpp @@ -34,13 +34,17 @@ public: void TearDown() { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("DESKTOP_SESSION"); } }; TEST_F(XdgCurrentDesktopUtilsTest, isLomiri) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_lomiri()); + setenv("DESKTOP_SESSION", "ubuntu-touch", 1); + EXPECT_TRUE(ayatana_common_utils_is_lomiri()); setenv("XDG_CURRENT_DESKTOP", "Lomiri", 1); EXPECT_TRUE(ayatana_common_utils_is_lomiri()); } @@ -48,13 +52,19 @@ TEST_F(XdgCurrentDesktopUtilsTest, isLomiri) TEST_F(XdgCurrentDesktopUtilsTest, isGnome) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_gnome()); + setenv("DESKTOP_SESSION", "gnome", 1); + EXPECT_TRUE(ayatana_common_utils_is_gnome()); setenv("XDG_CURRENT_DESKTOP", "GNOME", 1); EXPECT_TRUE(ayatana_common_utils_is_gnome()); } TEST_F(XdgCurrentDesktopUtilsTest, isUnity) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("DESKTOP_SESSION"); + EXPECT_FALSE(ayatana_common_utils_is_unity()); + setenv("DESKTOP_SESSION", "gnome-fallback", 1); EXPECT_FALSE(ayatana_common_utils_is_unity()); setenv("XDG_CURRENT_DESKTOP", "Unity", 1); EXPECT_TRUE(ayatana_common_utils_is_unity()); @@ -62,20 +72,27 @@ TEST_F(XdgCurrentDesktopUtilsTest, isUnity) TEST_F(XdgCurrentDesktopUtilsTest, isMate) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_mate()); + setenv("DESKTOP_SESSION", "mate", 1); + EXPECT_TRUE(ayatana_common_utils_is_mate()); setenv("XDG_CURRENT_DESKTOP", "MATE", 1); EXPECT_TRUE(ayatana_common_utils_is_mate()); } TEST_F(XdgCurrentDesktopUtilsTest, isXfce) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_xfce()); + setenv("DESKTOP_SESSION", "xfce", 1); + EXPECT_TRUE(ayatana_common_utils_is_xfce()); setenv("XDG_CURRENT_DESKTOP", "XFCE", 1); EXPECT_TRUE(ayatana_common_utils_is_xfce()); } TEST_F(XdgCurrentDesktopUtilsTest, isPantheon) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_pantheon()); setenv("XDG_CURRENT_DESKTOP", "PANTHEON", 1); EXPECT_TRUE(ayatana_common_utils_is_pantheon()); @@ -83,7 +100,10 @@ TEST_F(XdgCurrentDesktopUtilsTest, isPantheon) TEST_F(XdgCurrentDesktopUtilsTest, isBudgie) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_budgie()); + setenv("DESKTOP_SESSION", "budgie-desktop", 1); + EXPECT_TRUE(ayatana_common_utils_is_budgie()); setenv("XDG_CURRENT_DESKTOP", "Budgie:GNOME", 1); EXPECT_TRUE(ayatana_common_utils_is_budgie()); } diff --git a/tests/tst_utils.vala b/tests/tst_utils.vala index a7a624b..44ce6fe 100644 --- a/tests/tst_utils.vala +++ b/tests/tst_utils.vala @@ -5,44 +5,63 @@ using GLib; static int main(string[] args) { assert(args.length == 2); - unset_variable("DESKTOP_SESSION"); + unset_variable("DESKTOP_SESSION"); unset_variable("XDG_CURRENT_DESKTOP"); assert(! utils_is_lomiri()); + set_variable("DESKTOP_SESSION", "ubuntu-touch", true); + assert(utils_is_lomiri()); set_variable("XDG_CURRENT_DESKTOP", "Lomiri", true); assert(utils_is_lomiri()); unset_variable("XDG_CURRENT_DESKTOP"); + unset_variable("DESKTOP_SESSION"); assert(! utils_is_gnome()); + set_variable("DESKTOP_SESSION", "gnome", true); + assert(utils_is_gnome()); set_variable("XDG_CURRENT_DESKTOP", "GNOME", true); assert(utils_is_gnome()); unset_variable("XDG_CURRENT_DESKTOP"); + unset_variable("DESKTOP_SESSION"); + assert(! utils_is_unity()); + set_variable("DESKTOP_SESSION", "gnome-fallback", true); assert(! utils_is_unity()); set_variable("XDG_CURRENT_DESKTOP", "Unity", true); assert(utils_is_unity()); unset_variable("XDG_CURRENT_DESKTOP"); + unset_variable("DESKTOP_SESSION"); assert(! utils_is_mate()); + set_variable("DESKTOP_SESSION", "mate", true); + assert(utils_is_mate()); set_variable("XDG_CURRENT_DESKTOP", "MATE", true); assert(utils_is_mate()); unset_variable("XDG_CURRENT_DESKTOP"); + unset_variable("DESKTOP_SESSION"); assert(! utils_is_xfce()); + set_variable("DESKTOP_SESSION", "xfce", true); + assert(utils_is_xfce()); set_variable("XDG_CURRENT_DESKTOP", "XFCE", true); assert(utils_is_xfce()); unset_variable("XDG_CURRENT_DESKTOP"); + unset_variable("DESKTOP_SESSION"); assert(! utils_is_pantheon()); set_variable("XDG_CURRENT_DESKTOP", "PANTHEON", true); assert(utils_is_pantheon()); unset_variable("XDG_CURRENT_DESKTOP"); + unset_variable("DESKTOP_SESSION"); assert(! utils_is_budgie()); + set_variable("DESKTOP_SESSION", "budgie-desktop", true); + assert(utils_is_budgie()); set_variable("XDG_CURRENT_DESKTOP", "Budgie:GNOME", true); assert(utils_is_budgie()); unset_variable("XDG_CURRENT_DESKTOP"); + unset_variable("DESKTOP_SESSION"); set_variable("GSETTINGS_SCHEMA_DIR", args[1], true); set_variable("GSETTINGS_BACKEND", "memory", true); |