aboutsummaryrefslogtreecommitdiff
path: root/tests/tst_utils.cpp
diff options
context:
space:
mode:
authorRobert Tari <robert@tari.in>2025-02-28 19:13:09 +0100
committerRobert Tari <robert@tari.in>2025-02-28 19:13:09 +0100
commitc869bdb06bc74c446f518dec00b0eda3d621147e (patch)
tree66acec4d15a4e9e1e4ab0ea686f1d3e7b1f640b7 /tests/tst_utils.cpp
parent8608bd833d3452879ebe3aec74646a5fd17e76ee (diff)
parentdc299daf148950f20153b7156dc6de5120bf5df7 (diff)
downloadlibayatana-common-c869bdb06bc74c446f518dec00b0eda3d621147e.tar.gz
libayatana-common-c869bdb06bc74c446f518dec00b0eda3d621147e.tar.bz2
libayatana-common-c869bdb06bc74c446f518dec00b0eda3d621147e.zip
Merge branch 'sunweaver-pr/support-differentiating-lomiri-and-ut'
Attributes GH PR #65: https://github.com/AyatanaIndicators/libayatana-common/pull/65
Diffstat (limited to 'tests/tst_utils.cpp')
-rw-r--r--tests/tst_utils.cpp41
1 files changed, 40 insertions, 1 deletions
diff --git a/tests/tst_utils.cpp b/tests/tst_utils.cpp
index a1cf7c5..db2c672 100644
--- a/tests/tst_utils.cpp
+++ b/tests/tst_utils.cpp
@@ -41,51 +41,85 @@ public:
TEST_F(XdgCurrentDesktopUtilsTest, isLomiri)
{
unsetenv("XDG_CURRENT_DESKTOP");
+ unsetenv("XDG_SESSION_DESKTOP");
unsetenv("DESKTOP_SESSION");
EXPECT_FALSE(ayatana_common_utils_is_lomiri());
- setenv("DESKTOP_SESSION", "ubuntu-touch", 1);
+ setenv("DESKTOP_SESSION", "lomiri", 1);
+ EXPECT_TRUE(ayatana_common_utils_is_lomiri());
+ unsetenv("DESKTOP_SESSION");
+ setenv("XDG_SESSION_DESKTOP", "lomiri", 1);
EXPECT_TRUE(ayatana_common_utils_is_lomiri());
setenv("XDG_CURRENT_DESKTOP", "Lomiri", 1);
EXPECT_TRUE(ayatana_common_utils_is_lomiri());
}
+TEST_F(XdgCurrentDesktopUtilsTest, isUbuntuTouch)
+{
+ unsetenv("XDG_CURRENT_DESKTOP");
+ unsetenv("DESKTOP_SESSION");
+ EXPECT_FALSE(ayatana_common_utils_is_ubuntutouch());
+ setenv("XDG_CURRENT_DESKTOP", "Lomiri", 1);
+ EXPECT_FALSE(ayatana_common_utils_is_ubuntutouch());
+ setenv("DESKTOP_SESSION", "ubuntu-touch", 1);
+ EXPECT_TRUE(ayatana_common_utils_is_ubuntutouch());
+ unsetenv("DESKTOP_SESSION");
+ setenv("XDG_SESSION_DESKTOP", "ubuntu-touch", 1);
+ EXPECT_TRUE(ayatana_common_utils_is_ubuntutouch());
+}
+
TEST_F(XdgCurrentDesktopUtilsTest, isGnome)
{
unsetenv("XDG_CURRENT_DESKTOP");
+ unsetenv("XDG_SESSION_DESKTOP");
unsetenv("DESKTOP_SESSION");
EXPECT_FALSE(ayatana_common_utils_is_gnome());
setenv("DESKTOP_SESSION", "gnome", 1);
EXPECT_TRUE(ayatana_common_utils_is_gnome());
+ unsetenv("DESKTOP_SESSION");
+ setenv("XDG_SESSION_DESKTOP", "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("XDG_SESSION_DESKTOP");
unsetenv("DESKTOP_SESSION");
EXPECT_FALSE(ayatana_common_utils_is_unity());
setenv("DESKTOP_SESSION", "gnome-fallback", 1);
EXPECT_FALSE(ayatana_common_utils_is_unity());
+ unsetenv("DESKTOP_SESSION");
+ setenv("XDG_SESSION_DESKTOP", "gnome-fallback", 1);
+ EXPECT_FALSE(ayatana_common_utils_is_unity());
setenv("XDG_CURRENT_DESKTOP", "Unity", 1);
EXPECT_TRUE(ayatana_common_utils_is_unity());
}
TEST_F(XdgCurrentDesktopUtilsTest, isMate)
{
unsetenv("XDG_CURRENT_DESKTOP");
+ unsetenv("XDG_SESSION_DESKTOP");
unsetenv("DESKTOP_SESSION");
EXPECT_FALSE(ayatana_common_utils_is_mate());
setenv("DESKTOP_SESSION", "mate", 1);
EXPECT_TRUE(ayatana_common_utils_is_mate());
+ unsetenv("DESKTOP_SESSION");
+ setenv("XDG_SESSION_DESKTOP", "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("XDG_SESSION_DESKTOP");
unsetenv("DESKTOP_SESSION");
EXPECT_FALSE(ayatana_common_utils_is_xfce());
setenv("DESKTOP_SESSION", "xfce", 1);
EXPECT_TRUE(ayatana_common_utils_is_xfce());
+ unsetenv("DESKTOP_SESSION");
+ setenv("XDG_SESSION_DESKTOP", "xfce", 1);
+ EXPECT_TRUE(ayatana_common_utils_is_xfce());
setenv("XDG_CURRENT_DESKTOP", "XFCE", 1);
EXPECT_TRUE(ayatana_common_utils_is_xfce());
}
@@ -93,6 +127,7 @@ TEST_F(XdgCurrentDesktopUtilsTest, isPantheon)
{
unsetenv("XDG_CURRENT_DESKTOP");
unsetenv("DESKTOP_SESSION");
+ unsetenv("XDG_SESSION_DESKTOP");
EXPECT_FALSE(ayatana_common_utils_is_pantheon());
setenv("XDG_CURRENT_DESKTOP", "PANTHEON", 1);
EXPECT_TRUE(ayatana_common_utils_is_pantheon());
@@ -100,10 +135,14 @@ TEST_F(XdgCurrentDesktopUtilsTest, isPantheon)
TEST_F(XdgCurrentDesktopUtilsTest, isBudgie)
{
unsetenv("XDG_CURRENT_DESKTOP");
+ unsetenv("XDG_SESSION_DESKTOP");
unsetenv("DESKTOP_SESSION");
EXPECT_FALSE(ayatana_common_utils_is_budgie());
setenv("DESKTOP_SESSION", "budgie-desktop", 1);
EXPECT_TRUE(ayatana_common_utils_is_budgie());
+ unsetenv("DESKTOP_SESSION");
+ setenv("XDG_SESSION_DESKTOP", "budgie-desktop", 1);
+ EXPECT_TRUE(ayatana_common_utils_is_budgie());
setenv("XDG_CURRENT_DESKTOP", "Budgie:GNOME", 1);
EXPECT_TRUE(ayatana_common_utils_is_budgie());
}