on xenial help sign in
Add scope header style tests.
ff47bfdMichał Sawicz
qml/Components/PageHeader.qml+1
@@ -128,6 +128,7 @@ Item {
128 property var popover: null
128 property var popover: null
129
129
130 Background {
130 Background {
131+ objectName: "headerBackground"
131 style: scopeStyle.headerBackground
132 style: scopeStyle.headerBackground
132 }
133 }
133
134
tests/mocks/Unity/fake_scope.cpp+6−4
@@ -182,14 +182,16 @@ bool Scope::hasDepartments() const
182
182
183QVariantMap Scope::customizations() const
183QVariantMap Scope::customizations() const
184{
184{
185− QVariantMap m;
185+ QVariantMap m, h;
186 if (m_id == "clickscope") {
186 if (m_id == "clickscope") {
187+ h["foreground-color"] = "yellow";
187 m["background-color"] = "red";
188 m["background-color"] = "red";
188 m["foreground-color"] = "blue";
189 m["foreground-color"] = "blue";
190+ m["page-header"] = h;
189 } else if (m_id == "MockScope5") {
191 } else if (m_id == "MockScope5") {
190− QVariantMap pageHeader;
192+ h["background"] = "gradient:///lightgrey/grey";
191− pageHeader["logo"] = QUrl("../../../tests/qmltests/Components/tst_PageHeader/logo-ubuntu-orange.svg");
193+ h["logo"] = QUrl("../../../tests/qmltests/Components/tst_PageHeader/logo-ubuntu-orange.svg");
192− m["page-header"] = pageHeader;
194+ m["page-header"] = h;
193 }
195 }
194 return m;
196 return m;
195}
197}
tests/qmltests/Dash/tst_GenericScopeView.qml+26−5
@@ -54,6 +54,7 @@ Item {
54 when: scopes.loaded && windowShown
54 when: scopes.loaded && windowShown
55
55
56 property Item previewListView: findChild(genericScopeView, "previewListView")
56 property Item previewListView: findChild(genericScopeView, "previewListView")
57+ property Item header: findChild(genericScopeView, "scopePageHeader")
57
58
58 function init() {
59 function init() {
59 genericScopeView.scope = scopes.getScope(1)
60 genericScopeView.scope = scopes.getScope(1)
@@ -257,13 +258,33 @@ Item {
257 closePreview();
258 closePreview();
258 }
259 }
259
260
260− function test_haeder_logo() {
261+ function test_header_style_data() {
261− genericScopeView.scope = scopes.getScope(3);
262+ return [
263+ { tag: "Default", index: 0, foreground: "grey", background: "", logo: "" },
264+ { tag: "Foreground", index: 2, foreground: "yellow", background: "", logo: "" },
265+ { tag: "Logo+Background", index: 3, foreground: "grey", background: "gradient:///lightgrey/grey",
266+ logo: Qt.resolvedUrl("../Components/tst_PageHeader/logo-ubuntu-orange.svg") },
267+ ];
268+ }
262
269
270+ function test_header_style(data) {
271+ genericScopeView.scope = scopes.getScope(data.index);
263− var image = findChild(genericScopeView, "titleImage");
272+ waitForRendering(genericScopeView);
264− verify(image, "Could not find the title image");
273+ verify(header, "Could not find the header.");
265− compare(image.source, Qt.resolvedUrl("../Components/tst_PageHeader/logo-ubuntu-orange.svg"), "Title image has the wrong source");
266
274
275+ var innerHeader = findChild(header, "innerPageHeader");
276+ verify(innerHeader, "Could not find the inner header");
277+ verify(Qt.colorEqual(innerHeader.textColor, data.foreground),
278+ "Foreground color not equal: %1 != %2".arg(innerHeader.textColor).arg(data.foreground));
279+
280+ var background = findChild(header, "headerBackground");
281+ verify(background, "Could not find the background");
282+ compare(background.style, data.background);
283+
284+ var image = findChild(genericScopeView, "titleImage");
285+ if (data.logo == "") expectFail(data.tag, "Title image should not exist.");
286+ verify(image, "Could not find the title image.");
287+ compare(image.source, data.logo, "Title image has the wrong source");
267 }
288 }
268 }
289 }
269 }
290 }