diff options
author | Ted Gould <ted@gould.cx> | 2015-02-24 09:57:22 -0600 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2015-02-24 09:57:22 -0600 |
commit | dbe04c9deb02ca81c43ca8dd2bb737473e4882de (patch) | |
tree | a66bc748269ce2c7d78e0d4277eedf3018bc9788 /tests | |
parent | cbe081da93d2a2bd1d44a0fe02e9dab7eccd249d (diff) | |
download | ayatana-indicator-sound-dbe04c9deb02ca81c43ca8dd2bb737473e4882de.tar.gz ayatana-indicator-sound-dbe04c9deb02ca81c43ca8dd2bb737473e4882de.tar.bz2 ayatana-indicator-sound-dbe04c9deb02ca81c43ca8dd2bb737473e4882de.zip |
Adding a test for amplified volume
Diffstat (limited to 'tests')
-rw-r--r-- | tests/notifications-test.cc | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/notifications-test.cc b/tests/notifications-test.cc index 88ed6c6..21a9312 100644 --- a/tests/notifications-test.cc +++ b/tests/notifications-test.cc @@ -356,3 +356,45 @@ TEST_F(NotificationsTest, HighVolume) { EXPECT_EQ("High volume", notev[0].body); EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-value-bar-tint"]); } + +TEST_F(NotificationsTest, ExtendendVolumeNotification) { + auto volumeControl = volumeControlMock(); + auto soundService = standardService(volumeControl, playerListMock()); + + /* Set a volume */ + notifications->clearNotifications(); + setMockVolume(volumeControl, 0.50); + loop(50); + auto notev = notifications->getNotifications(); + ASSERT_EQ(1, notev.size()); + EXPECT_EQ("indicator-sound", notev[0].app_name); + EXPECT_EQ("Volume", notev[0].summary); + EXPECT_EQ(0, notev[0].actions.size()); + EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-private-synchronous"]); + EXPECT_GVARIANT_EQ("@i 50", notev[0].hints["value"]); + + /* Allow an amplified volume */ + notifications->clearNotifications(); + indicator_sound_service_set_allow_amplified_volume(soundService.get(), TRUE); + loop(50); + notev = notifications->getNotifications(); + ASSERT_EQ(1, notev.size()); + EXPECT_GVARIANT_EQ("@i 33", notev[0].hints["value"]); + + /* Set to 'over max' */ + notifications->clearNotifications(); + setMockVolume(volumeControl, 1.525); + loop(50); + notev = notifications->getNotifications(); + ASSERT_EQ(1, notev.size()); + EXPECT_GVARIANT_EQ("@i 100", notev[0].hints["value"]); + + /* Put back */ + notifications->clearNotifications(); + indicator_sound_service_set_allow_amplified_volume(soundService.get(), FALSE); + loop(50); + notev = notifications->getNotifications(); + ASSERT_EQ(1, notev.size()); + EXPECT_GVARIANT_EQ("@i 100", notev[0].hints["value"]); +} + |