aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRatchanan Srirattanamet <ratchanan@ubports.com>2023-12-07 02:20:08 +0700
committerRatchanan Srirattanamet <ratchanan@ubports.com>2023-12-07 02:20:08 +0700
commit6f1c3f7f25052c1f4c001e30bc8368359531af87 (patch)
tree3ed26119d8ad9fb515a1214b815bc48a2a220c44 /tests
parent2aace1535ca5dd971b2ac7b796b8eaa03c11bd96 (diff)
downloadayatana-indicator-datetime-6f1c3f7f25052c1f4c001e30bc8368359531af87.tar.gz
ayatana-indicator-datetime-6f1c3f7f25052c1f4c001e30bc8368359531af87.tar.bz2
ayatana-indicator-datetime-6f1c3f7f25052c1f4c001e30bc8368359531af87.zip
Bring back Lomiri-specific notification hints
As discussed in [1], Lomiri has a custom logic in notification timeout and require the custom hint for timeout to work correctly. Restore the hints from commit 0a88a8d7 ("Remove osd-notify remnants and use native notification timeout"), while keeping the standard timeout in place. Lomiri will ignore standard timeout, while other DE's will ignore the extra hint. [1] https://gitlab.com/ubports/development/core/content-hub/-/merge_requests/32#note_1552217874
Diffstat (limited to 'tests')
-rw-r--r--tests/notification-fixture.h2
-rw-r--r--tests/test-sound.cpp10
2 files changed, 12 insertions, 0 deletions
diff --git a/tests/notification-fixture.h b/tests/notification-fixture.h
index 33bcd7e..7dcc8bf 100644
--- a/tests/notification-fixture.h
+++ b/tests/notification-fixture.h
@@ -77,6 +77,8 @@ protected:
static constexpr char const * SIGNAL_CLOSED {"NotificationClosed"};
+ static constexpr char const * HINT_LOMIRI_TIMEOUT {"x-lomiri-snap-decisions-timeout"};
+
static constexpr char const * AS_BUSNAME {"org.freedesktop.Accounts"};
static constexpr char const * AS_INTERFACE {"com.lomiri.touch.AccountsService.Sound"};
static constexpr char const * PROP_OTHER_VIBRATIONS {"OtherVibrate"};
diff --git a/tests/test-sound.cpp b/tests/test-sound.cpp
index 19dffe3..db1402a 100644
--- a/tests/test-sound.cpp
+++ b/tests/test-sound.cpp
@@ -100,6 +100,16 @@ TEST_F(NotificationFixture, InteractiveDuration)
g_variant_get_child (params, 7, "i", &i32);
const auto duration = std::chrono::minutes(duration_minutes);
EXPECT_EQ(std::chrono::duration_cast<std::chrono::milliseconds>(duration).count(), i32);
+
+ // Due to custom logic in Lomiri, also make sure custom timeout hint is set.
+ bool b;
+ auto hints = g_variant_get_child_value (params, 6);
+ i32 = 0;
+ b = g_variant_lookup (hints, HINT_LOMIRI_TIMEOUT, "i", &i32);
+ EXPECT_TRUE(b);
+ EXPECT_EQ(std::chrono::duration_cast<std::chrono::milliseconds>(duration).count(), i32);
+ g_variant_unref(hints);
+
ne.reset();
}