on xenial help sign in
fixed indicator tests
a510c7fNick Dedekind
plugins/Unity/Indicators/visibleindicatorsmodel.cpp+8−2
@@ -29,9 +29,15 @@ VisibleIndicatorsModel::VisibleIndicatorsModel(QObject *parent)
29QHash<int, QByteArray> VisibleIndicatorsModel::roleNames() const
29QHash<int, QByteArray> VisibleIndicatorsModel::roleNames() const
30{
30{
31 static QHash<int, QByteArray> roles;
31 static QHash<int, QByteArray> roles;
32− if (roles.isEmpty() && sourceModel())
32+ if (roles.isEmpty())
33 {
33 {
34− roles = sourceModel()->roleNames();
34+ roles[IndicatorsModelRole::Identifier] = "identifier";
35+ roles[IndicatorsModelRole::Position] = "position";
36+ roles[IndicatorsModelRole::Title] = "title";
37+ roles[IndicatorsModelRole::Description] = "description";
38+ roles[IndicatorsModelRole::WidgetSource] = "widgetSource";
39+ roles[IndicatorsModelRole::PageSource] = "pageSource";
40+ roles[IndicatorsModelRole::IndicatorProperties] = "indicatorProperties";
35 roles[IndicatorsModelRole::IsVisible] = "isVisible";
41 roles[IndicatorsModelRole::IsVisible] = "isVisible";
36 }
42 }
37 return roles;
43 return roles;
tests/mocks/Unity/Indicators/CMakeLists.txt+1
@@ -13,6 +13,7 @@ set(IndicatorsFakeQml_SOURCES
13 fakeplugin.cpp
13 fakeplugin.cpp
14 ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/indicators.h
14 ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/indicators.h
15 ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/menucontentactivator.cpp
15 ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/menucontentactivator.cpp
16+ ${CMAKE_SOURCE_DIR}/plugins/Unity/Indicators/visibleindicatorsmodel.cpp
16)
17)
17
18
18set(IndicatorsFakeQml_RESOURCES
19set(IndicatorsFakeQml_RESOURCES
tests/mocks/Unity/Indicators/IndicatorsModel.qml+10−65
@@ -33,8 +33,8 @@ ListModel {
33 "description": "",
33 "description": "",
34 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget1.qml",
34 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget1.qml",
35 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page1.qml",
35 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page1.qml",
36− "indicatorProperties": "",
36+ "indicatorProperties": ""
37− "isVisible": true});
37+ });
38
38
39 append({ "identifier": "indicator-fake2",
39 append({ "identifier": "indicator-fake2",
40 "priority": 1,
40 "priority": 1,
@@ -42,8 +42,8 @@ ListModel {
42 "description": "",
42 "description": "",
43 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget2.qml",
43 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget2.qml",
44 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page2.qml",
44 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page2.qml",
45− "indicatorProperties": "",
45+ "indicatorProperties": ""
46− "isVisible": true});
46+ });
47
47
48 append({ "identifier": "indicator-fake3",
48 append({ "identifier": "indicator-fake3",
49 "priority": 2,
49 "priority": 2,
@@ -51,8 +51,8 @@ ListModel {
51 "description": "",
51 "description": "",
52 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget3.qml",
52 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget3.qml",
53 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page3.qml",
53 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page3.qml",
54− "indicatorProperties": "",
54+ "indicatorProperties": ""
55− "isVisible": true});
55+ });
56
56
57 append({ "identifier": "indicator-fake4",
57 append({ "identifier": "indicator-fake4",
58 "priority": 3,
58 "priority": 3,
@@ -60,8 +60,8 @@ ListModel {
60 "description": "",
60 "description": "",
61 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget4.qml",
61 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget4.qml",
62 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page4.qml",
62 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page4.qml",
63− "indicatorProperties": "",
63+ "indicatorProperties": ""
64− "isVisible": true});
64+ });
65
65
66 append({ "identifier": "indicator-fake5",
66 append({ "identifier": "indicator-fake5",
67 "priority": 4,
67 "priority": 4,
@@ -69,62 +69,7 @@ ListModel {
69 "description": "",
69 "description": "",
70 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget5.qml",
70 "widgetSource": "qrc:/tests/indciators/qml/fake_menu_widget5.qml",
71 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page5.qml",
71 "pageSource": "qrc:/tests/indciators/qml/fake_menu_page5.qml",
72− "indicatorProperties": "",
72+ "indicatorProperties": ""
73− "isVisible": true});
73+ });
74 }
74 }
75−
76− function data(row, role) {
77− if (role == Indicators.IndicatorsModelRole.Identifier) {
78− return get(row).identifier;
79− }
80− else if (role == Indicators.IndicatorsModelRole.Priority) {
81− return get(row).priority;
82− }
83− else if (role == Indicators.IndicatorsModelRole.Title) {
84− return get(row).title;
85− }
86− else if (role == Indicators.IndicatorsModelRole.Description) {
87− return get(row).description;
88− }
89− else if (role == Indicators.IndicatorsModelRole.WidgetSource) {
90− return get(row).widgetSource;
91− }
92− else if (role == Indicators.IndicatorsModelRole.PageSource) {
93− return get(row).pageSource;
94− }
95− else if (role == Indicators.IndicatorsModelRole.IndicatorProperties) {
96− return get(row).indicatorProperties;
97− }
98− else if (role == Indicators.IndicatorsModelRole.IsVisible) {
99− return get(row).isVisible;
100− }
101− }
102−
103− function setData(row, value, role) {
104− if (role == Indicators.IndicatorsModelRole.Identifier) {
105− return set(row, {"identifier": value});
106− }
107− else if (role == Indicators.IndicatorsModelRole.Priority) {
108− return set(row, {"priority": value});
109− }
110− else if (role == Indicators.IndicatorsModelRole.Title) {
111− return set(row, {"title": value});
112− }
113− else if (role == Indicators.IndicatorsModelRole.Description) {
114− return set(row, {"description": value});
115− }
116− else if (role == Indicators.IndicatorsModelRole.WidgetSource) {
117− return set(row, {"widgetSource": value});
118− }
119− else if (role == Indicators.IndicatorsModelRole.PageSource) {
120− return set(row, {"pageSource": value});
121− }
122− else if (role == Indicators.IndicatorsModelRole.IndicatorProperties) {
123− return set(row, {"indicatorProperties": value});
124− }
125− else if (role == Indicators.IndicatorsModelRole.IsVisible) {
126− return set(row, {"isVisible": value});
127− }
128− }
129−
130}
75}
tests/mocks/Unity/Indicators/fakeplugin.cpp+2
@@ -25,12 +25,14 @@
25// local
25// local
26#include "indicators.h"
26#include "indicators.h"
27#include "menucontentactivator.h"
27#include "menucontentactivator.h"
28+#include "visibleindicatorsmodel.h"
28
29
29void IndicatorsFakePlugin::registerTypes(const char * uri)
30void IndicatorsFakePlugin::registerTypes(const char * uri)
30{
31{
31 Q_INIT_RESOURCE(indicators_fake);
32 Q_INIT_RESOURCE(indicators_fake);
32
33
33 qmlRegisterType<MenuContentActivator>(uri, 0, 1, "MenuContentActivator");
34 qmlRegisterType<MenuContentActivator>(uri, 0, 1, "MenuContentActivator");
35+ qmlRegisterType<VisibleIndicatorsModel>(uri, 0, 1, "VisibleIndicatorsModel");
34
36
35 qmlRegisterUncreatableType<MenuContentState>(uri, 0, 1, "MenuContentState", "Can't create MenuContentState class");
37 qmlRegisterUncreatableType<MenuContentState>(uri, 0, 1, "MenuContentState", "Can't create MenuContentState class");
36 qmlRegisterUncreatableType<ActionState>(uri, 0, 1, "ActionState", "Can't create ActionState class");
38 qmlRegisterUncreatableType<ActionState>(uri, 0, 1, "ActionState", "Can't create ActionState class");
tests/qmltests/Panel/tst_MenuContent.qml+9−2
@@ -48,8 +48,15 @@ Item {
48 id: menuContent
48 id: menuContent
49 indicatorsModel: indicatorsModel
49 indicatorsModel: indicatorsModel
50 contentReleaseInterval: 50
50 contentReleaseInterval: 50
51−
52 height: parent.height - 50
51 height: parent.height - 50
52+
53+ visibleIndicators: {
54+ 'indicator-fake1': true,
55+ 'indicator-fake2': true,
56+ 'indicator-fake3': true,
57+ 'indicator-fake4': true,
58+ 'indicator-fake5': true
59+ }
53 }
60 }
54
61
55 Rectangle {
62 Rectangle {
@@ -134,7 +141,7 @@ Item {
134 var menuIndex = i%menuCount;
141 var menuIndex = i%menuCount;
135
142
136 activate_content(menuIndex);
143 activate_content(menuIndex);
137− testTabObjectName = indicatorsModel.data(menuIndex, Indicators.IndicatorsModelRole.Identifier);
144+ testTabObjectName = indicatorsModel.get(menuIndex).identifier;
138 compare(tabs.selectedTabIndex, menuIndex, "Current tab index does not match selected tab index");
145 compare(tabs.selectedTabIndex, menuIndex, "Current tab index does not match selected tab index");
139 tryCompareFunction(selected_tab_equals_test_tab, true);
146 tryCompareFunction(selected_tab_equals_test_tab, true);
140 }
147 }