on xenial help sign in
Added tests
2adef63Andrea Cimitan
qml/Dash/Previews/TextSummary.qml+2−1
@@ -27,6 +27,7 @@ PreviewWidget {
27
27
28 Label {
28 Label {
29 id: titleLabel
29 id: titleLabel
30+ objectName: "titleLabel"
30 anchors {
31 anchors {
31 left: parent.left
32 left: parent.left
32 right: parent.right
33 right: parent.right
@@ -36,7 +37,7 @@ PreviewWidget {
36 color: Theme.palette.selected.backgroundText
37 color: Theme.palette.selected.backgroundText
37 visible: text !== ""
38 visible: text !== ""
38 opacity: .8
39 opacity: .8
39− text: widgetData["title"]
40+ text: widgetData["title"] ? widgetData["title"] : ""
40 wrapMode: Text.Wrap
41 wrapMode: Text.Wrap
41 }
42 }
42
43
tests/qmltests/Components/tst_SeeMore.qml+1−1
@@ -24,7 +24,7 @@ Rectangle {
24 id: root
24 id: root
25 width: units.gu(40)
25 width: units.gu(40)
26 height: units.gu(10)
26 height: units.gu(10)
27− color: "lightgrey"
27+ color: Theme.palette.selected.background
28
28
29 SeeMore {
29 SeeMore {
30 id: seeMore
30 id: seeMore
tests/qmltests/Dash/Previews/tst_TextSummary.qml+40−6
@@ -24,25 +24,59 @@ Rectangle {
24 id: root
24 id: root
25 width: units.gu(40)
25 width: units.gu(40)
26 height: units.gu(80)
26 height: units.gu(80)
27− color: "lightgrey"
27+ color: Theme.palette.selected.background
28
28
29− property var widgetData0: {
29+ property var widgetDataComplete: {
30 "title": "Title here",
30 "title": "Title here",
31− "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus a mi vitae augue rhoncus lobortis ut rutrum metus. Curabitur tortor leo, tristique sed mollis quis, condimentum venenatis nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus a mi vitae augue rhoncus lobortis ut rutrum metus. Curabitur tortor leo, tristique sed mollis quis, condimentum venenatis nibh."
31+ "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nPhasellus a mi vitae augue rhoncus lobortis ut rutrum metus.\nCurabitur tortor leo, tristique sed mollis quis, condimentum venenatis nibh.\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nPhasellus a mi vitae augue rhoncus lobortis ut rutrum metus.\nCurabitur tortor leo, tristique sed mollis quis, condimentum venenatis nibh."
32 }
32 }
33
33
34− property var widgetData1: {
34+ property var widgetDataShortText: {
35+ "title": "Title here",
35− "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus a mi vitae augue rhoncus lobortis ut rutrum metus. Curabitur tortor leo, tristique sed mollis quis, condimentum venenatis nibh. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus a mi vitae augue rhoncus lobortis ut rutrum metus. Curabitur tortor leo, tristique sed mollis quis, condimentum venenatis nibh."
36+ "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nPhasellus a mi vitae augue rhoncus lobortis ut rutrum metus.\nCurabitur tortor leo, tristique sed mollis quis, condimentum venenatis nibh."
37+}
38+
39+ property var widgetDataNoTitle: {
40+ "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nPhasellus a mi vitae augue rhoncus lobortis ut rutrum metus.\nCurabitur tortor leo, tristique sed mollis quis, condimentum venenatis nibh.\n\nLorem ipsum dolor sit amet, consectetur adipiscing elit.\nPhasellus a mi vitae augue rhoncus lobortis ut rutrum metus.\nCurabitur tortor leo, tristique sed mollis quis, condimentum venenatis nibh."
36 }
41 }
37
42
38 TextSummary {
43 TextSummary {
39 id: textSummary
44 id: textSummary
40 anchors.fill: parent
45 anchors.fill: parent
41− widgetData: widgetData0
46+ widgetData: widgetDataComplete
42 }
47 }
43
48
44 UT.UnityTestCase {
49 UT.UnityTestCase {
45 name: "TextSummaryTest"
50 name: "TextSummaryTest"
46 when: windowShown
51 when: windowShown
52+
53+ property var textLabel: findChild(textSummary, "textLabel")
54+
55+ function test_optional_title() {
56+ var titleLabel = findChild(textSummary, "titleLabel")
57+
58+ textSummary.widgetData = widgetDataComplete
59+ compare(titleLabel.visible, true)
60+
61+ textSummary.widgetData = widgetDataNoTitle
62+ tryCompare(titleLabel, "visible", false)
63+ }
64+
65+ function test_see_more() {
66+ var seeMore = findChild(textSummary, "seeMore")
67+
68+ textSummary.widgetData = widgetDataComplete
69+
70+ // when it's more than 7 lines of text, show SeeMore component
71+ verify(textLabel.lineCount > 7)
72+ compare(seeMore.visible, true)
73+ verify(seeMore.more === false)
74+ verify(textLabel.height < textLabel.contentHeight)
75+
76+ textSummary.widgetData = widgetDataShortText
77+ verify(textLabel.lineCount <= 7)
78+ compare(seeMore.visible, false)
79+ tryCompare(textLabel, "height", textLabel.contentHeight)
80+ }
47 }
81 }
48}
82}