aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJukka Halonen <ext-jukka.a.halonen@nokia.com>2010-11-25 13:17:03 +0200
committerAdrian Yanes <ext-adrian.yanes@nokia.com>2010-12-01 15:36:05 +0000
commitfbab127e10e34e33fcaa663dffe53744e851c1e9 (patch)
treee50014134a0d1e95964aea207444e03c75c09956 /tests
parentb64e0a9244ebb567a996c6c30ef5e5505c21e1e3 (diff)
Fixes: NB#196347 - (appmenu_no_button) MApplicationMenu: the MButton is not added to the menu if it has been shown previously
RevBy: Janne Heikkilä
Diffstat (limited to 'tests')
-rw-r--r--tests/ut_mapplicationmenu/ut_mapplicationmenu.cpp69
-rw-r--r--tests/ut_mapplicationmenu/ut_mapplicationmenu.h6
2 files changed, 71 insertions, 4 deletions
diff --git a/tests/ut_mapplicationmenu/ut_mapplicationmenu.cpp b/tests/ut_mapplicationmenu/ut_mapplicationmenu.cpp
index dd56b897..1b04991c 100644
--- a/tests/ut_mapplicationmenu/ut_mapplicationmenu.cpp
+++ b/tests/ut_mapplicationmenu/ut_mapplicationmenu.cpp
@@ -146,6 +146,60 @@ void Ut_MApplicationMenu::testInsertAction()
}
+void Ut_MApplicationMenu::testSetWidgetAfterWidgetActionIsAdded()
+{
+ MWidgetAction *action = new MWidgetAction(m_subject);
+ action->setLocation(MAction::ApplicationMenuLocation);
+ m_subject->addAction(action);
+ QVERIFY(m_subject->actions().count() == 1);
+
+ MComboBox *widgetInAction = new MComboBox;
+ action->setWidget(widgetInAction);
+
+ const MApplicationMenuViewPrivate *viewPrivate = menuViewPrivate();
+ QVERIFY(viewPrivate);
+ MWidget *widgetInMenu = viewPrivate->getWidget(action);
+ QVERIFY(widgetInMenu == widgetInAction);
+}
+
+void Ut_MApplicationMenu::testChangeWidgetInWidgetAction()
+{
+ MWidgetAction *action = new MWidgetAction(m_subject);
+ action->setLocation(MAction::ApplicationMenuLocation);
+ MComboBox *widgetInAction = new MComboBox;
+ action->setWidget(widgetInAction);
+ m_subject->addAction(action);
+
+ action->releaseWidget(widgetInAction);
+
+ MButton *newWidgetInAction = new MButton;
+ action->setWidget(newWidgetInAction);
+
+ const MApplicationMenuViewPrivate *viewPrivate = menuViewPrivate();
+ QVERIFY(viewPrivate);
+ MWidget *widgetInMenu = viewPrivate->getWidget(action);
+ QVERIFY(widgetInMenu == newWidgetInAction);
+}
+
+void Ut_MApplicationMenu::testRemoveWidgetFromWidgetAction()
+{
+ MWidgetAction *action = new MWidgetAction(m_subject);
+ action->setLocation(MAction::ApplicationMenuLocation);
+ MComboBox *widgetInAction = new MComboBox;
+ action->setWidget(widgetInAction);
+ m_subject->addAction(action);
+
+ action->releaseWidget(widgetInAction);
+
+ action->setWidget(0);
+
+ const MApplicationMenuViewPrivate *viewPrivate = menuViewPrivate();
+ QVERIFY(viewPrivate);
+ MWidget *widgetInMenu = viewPrivate->getWidget(action);
+ QVERIFY(widgetInMenu);
+ QVERIFY(widgetInMenu != widgetInAction);
+}
+
void Ut_MApplicationMenu::testActionVisiblity()
{
@@ -226,10 +280,8 @@ void Ut_MApplicationMenu::testOpeningAndClosingAppMenuWithDisabledAction()
action->setEnabled(true);
m_subject->addAction(action);
- const MApplicationMenuView *view = dynamic_cast<const MApplicationMenuView *>(m_subject->view());
- QVERIFY(view);
- const MApplicationMenuViewPrivate *viewPrivate = view->d_func();
-
+ const MApplicationMenuViewPrivate *viewPrivate = menuViewPrivate();
+ QVERIFY(viewPrivate);
MWidget *widget = viewPrivate->getWidget(action);
QVERIFY(widget);
QVERIFY(widget->isEnabled());
@@ -243,6 +295,15 @@ void Ut_MApplicationMenu::testOpeningAndClosingAppMenuWithDisabledAction()
}
+const MApplicationMenuViewPrivate* Ut_MApplicationMenu::menuViewPrivate()
+{
+ const MApplicationMenuView *view = dynamic_cast<const MApplicationMenuView *>(m_subject->view());
+ if (!view)
+ return 0;
+ const MApplicationMenuViewPrivate *viewPrivate = view->d_func();
+ return viewPrivate;
+}
+
void Ut_MApplicationMenu::actionSlot(bool checked)
{
Q_UNUSED(checked);
diff --git a/tests/ut_mapplicationmenu/ut_mapplicationmenu.h b/tests/ut_mapplicationmenu/ut_mapplicationmenu.h
index c7a0f580..9b174450 100644
--- a/tests/ut_mapplicationmenu/ut_mapplicationmenu.h
+++ b/tests/ut_mapplicationmenu/ut_mapplicationmenu.h
@@ -25,6 +25,7 @@
class MAction;
class MApplicationMenu;
+class MApplicationMenuViewPrivate;
class Ut_MApplicationMenu : public QObject
{
@@ -42,6 +43,9 @@ private Q_SLOTS:
void testDestructor();
void testAddAction();
void testInsertAction();
+ void testSetWidgetAfterWidgetActionIsAdded();
+ void testChangeWidgetInWidgetAction();
+ void testRemoveWidgetFromWidgetAction();
void testActionVisiblity();
void testOpeningAndClosingAppMenuWithDisabledAction();
void testClear();
@@ -55,6 +59,8 @@ private:
MAction *senderAction;
bool testValue;
+
+ const MApplicationMenuViewPrivate* menuViewPrivate();
};
#endif