diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2012-08-13 18:01:42 +0200 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2012-08-13 18:01:42 +0200 |
| commit | a1762ed61cdeb23917b727e1489803ed4d90e787 (patch) | |
| tree | 90bafdf75bd14b213e99395aa193eb45dad931f1 | |
| parent | 05a01a127ff4365c6ffa517685d447e9c6c05743 (diff) | |
test_quicklist_menu_item: added tests for quicklist activation
(bzr r2547.2.4)
| -rw-r--r-- | tests/test_quicklist_menu_item.cpp | 72 |
1 files changed, 71 insertions, 1 deletions
diff --git a/tests/test_quicklist_menu_item.cpp b/tests/test_quicklist_menu_item.cpp index 47289c3d8..dbba9d078 100644 --- a/tests/test_quicklist_menu_item.cpp +++ b/tests/test_quicklist_menu_item.cpp @@ -20,12 +20,16 @@ #include <gmock/gmock.h> #include <libdbusmenu-glib/client.h> +#include <UnityCore/GLibSignal.h> #include "QuicklistMenuItem.h" #include "QuicklistMenuItemCheckmark.h" #include "QuicklistMenuItemLabel.h" #include "QuicklistMenuItemRadio.h" #include "QuicklistMenuItemSeparator.h" +#include "unity-shared/UBusWrapper.h" +#include "unity-shared/UBusMessages.h" +#include "test_utils.h" using namespace unity; using namespace testing; @@ -64,7 +68,7 @@ TEST_F(TestQuicklistMenuItem, QuicklistMenuItemLabel) { dbusmenu_menuitem_property_set(item, DBUSMENU_MENUITEM_PROP_LABEL, "A Label"); dbusmenu_menuitem_property_set_bool(item, DBUSMENU_MENUITEM_PROP_ENABLED, true); - dbusmenu_menuitem_property_set_bool(item, "unity-use-markup", true); + dbusmenu_menuitem_property_set_bool(item, QuicklistMenuItem::MARKUP_ENABLED_PROPERTY, true); nux::ObjectPtr<QuicklistMenuItemLabel> qlitem(new QuicklistMenuItemLabel(item)); @@ -104,4 +108,70 @@ TEST_F(TestQuicklistMenuItem, QuicklistMenuItemSeparator) EXPECT_FALSE(qlitem->GetSelectable()); } +TEST_F(TestQuicklistMenuItem, OverlayMenuitem) +{ + dbusmenu_menuitem_property_set(item, DBUSMENU_MENUITEM_PROP_LABEL, "Label"); + dbusmenu_menuitem_property_set_bool(item, DBUSMENU_MENUITEM_PROP_ENABLED, true); + + nux::ObjectPtr<QuicklistMenuItemLabel> qlitem(new QuicklistMenuItemLabel(item)); + + EXPECT_FALSE(qlitem->IsOverlayQuicklist()); + + dbusmenu_menuitem_property_set_bool(item, QuicklistMenuItem::OVERLAY_MENU_ITEM_PROPERTY, true); + EXPECT_TRUE(qlitem->IsOverlayQuicklist()); +} + +TEST_F(TestQuicklistMenuItem, ItemActivate) +{ + dbusmenu_menuitem_property_set(item, DBUSMENU_MENUITEM_PROP_LABEL, "Label"); + dbusmenu_menuitem_property_set_bool(item, DBUSMENU_MENUITEM_PROP_ENABLED, true); + + nux::ObjectPtr<QuicklistMenuItemLabel> qlitem(new QuicklistMenuItemLabel(item)); + + bool item_activated = false; + glib::Signal<void, DbusmenuMenuitem*, int> signal(item, DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, + [&] (DbusmenuMenuitem* menu_item, int time) { + EXPECT_EQ(menu_item, item); + item_activated = true; + }); + + qlitem->Activate(); + EXPECT_TRUE(item_activated); +} + +TEST_F(TestQuicklistMenuItem, ItemActivateClosesDash) +{ + dbusmenu_menuitem_property_set(item, DBUSMENU_MENUITEM_PROP_LABEL, "Label"); + dbusmenu_menuitem_property_set_bool(item, DBUSMENU_MENUITEM_PROP_ENABLED, true); + + nux::ObjectPtr<QuicklistMenuItemLabel> qlitem(new QuicklistMenuItemLabel(item)); + + bool closes_dash = false; + UBusManager manager; + manager.RegisterInterest(UBUS_PLACE_VIEW_CLOSE_REQUEST, [&] (GVariant*) { closes_dash = true; }); + + qlitem->Activate(); + Utils::WaitUntil(closes_dash); + + EXPECT_TRUE(closes_dash); +} + +TEST_F(TestQuicklistMenuItem, OverlayItemActivateDoesNotCloseDash) +{ + dbusmenu_menuitem_property_set(item, DBUSMENU_MENUITEM_PROP_LABEL, "Label"); + dbusmenu_menuitem_property_set_bool(item, DBUSMENU_MENUITEM_PROP_ENABLED, true); + dbusmenu_menuitem_property_set_bool(item, QuicklistMenuItem::OVERLAY_MENU_ITEM_PROPERTY, true); + + nux::ObjectPtr<QuicklistMenuItemLabel> qlitem(new QuicklistMenuItemLabel(item)); + + bool closes_dash = false; + UBusManager manager; + manager.RegisterInterest(UBUS_PLACE_VIEW_CLOSE_REQUEST, [&] (GVariant*) { closes_dash = true; }); + + qlitem->Activate(); + Utils::WaitForTimeoutMSec(100); + + EXPECT_FALSE(closes_dash); +} + } |
