1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
/*
* Copyright 2015 Canonical Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.4
import QtTest 1.0
import Lomiri.Components 1.3
import Lomiri.Components.ListItems 1.3 as ListItem
Item {
width: 400
height: 400
Rectangle {
id: testItem
}
AbstractButton {
id: testControl
visible: false
}
ListItem.Standard {
id: listItemStandard
anchors.fill: parent
}
TestCase {
name: "ListItemsStandardAPI"
when: windowShown
function test_clickToTrigger_bug1527811() {
compare(listItemTriggeredSpy.valid, true, "triggered signal exists")
var listItemTriggeredCount = listItemTriggeredSpy.count
mouseMove(listItemStandard, 10, 10)
mouseClick(listItemStandard, 10, 10, Qt.LeftButton)
compare(listItemTriggeredSpy.count, listItemTriggeredCount + 1,
"Clicking the list item triggers it")
}
function test_fallbackIconSource() {
expectFail("","https://bugs.launchpad.net/tavastia/+bug/1076762")
compare(listItemStandard.fallbackIconSource,undefined,"fallbackIconSource is not set by default")
}
function test_control() {
listItemStandard.control = testControl
compare(listItemStandard.control,testControl,"set/get")
listItemStandard.control = null
compare(listItemStandard.control, null, "unset")
}
function test_clicked() {
compare(listItemClickedSpy.valid, true, "clicked signal exists")
compare(controlClickedSpy.valid, true, "control has clicked signal")
var listItemClickedCount = listItemClickedSpy.count
var controlClickedCount = controlClickedSpy.count
mouseMove(listItemStandard, 10, 10)
mouseClick(listItemStandard, 10, 10, Qt.LeftButton)
listItemClickedCount++;
compare(listItemClickedSpy.count, listItemClickedCount, "List item clicked triggered")
listItemStandard.control = testControl;
mouseMove(listItemStandard, 10, 10)
mouseClick(listItemStandard, 10, 10, Qt.LeftButton)
compare(listItemStandard.control, testControl, "control can be set")
listItemClickedCount++;
compare(controlClickedSpy.count, controlClickedCount, "Control clicked triggered")
compare(listItemClickedSpy.count, listItemClickedCount, "List item clicked not triggered when there is a control")
listItemStandard.control = null;
}
function test_bug1166982_disabled_control_clicked() {
var controlClickedCount = controlClickedSpy.count
listItemStandard.control = testControl
testControl.enabled = false
mouseMove(listItemStandard, 10, 10)
mouseClick(listItemStandard, 10, 10, Qt.LeftButton)
compare(controlClickedSpy.count, controlClickedCount, "Control clicked not triggered with disabled control")
testControl.enabled = true
listItemStandard.control = null
}
function test_icon() {
ignoreWarning("WARNING: ListItems.Standard.icon is DEPRECATED. Use iconName and iconSource instead.")
compare(listItemStandard.icon,undefined,"icon is not set by default")
// test with url
var newIcon = Qt.resolvedUrl("../../../examples/lomiri-ui-toolkit-gallery/small_avatar.png")
listItemStandard.icon = newIcon
compare(listItemStandard.icon,newIcon,"set/get from url")
}
function test_iconFrame() {
compare(listItemStandard.iconFrame,true,"iconFrame is true by default")
}
function test_progression() {
compare(listItemStandard.progression,false,"progression is false by default")
}
function test_text() {
compare(listItemStandard.text,"","text is '' by default")
var newText = "Hello World!"
listItemStandard.text = newText
compare(listItemStandard.text,newText,"set/get")
}
SignalSpy {
id: listItemClickedSpy
target: listItemStandard
signalName: "clicked"
}
SignalSpy {
id: controlClickedSpy
target: testControl
signalName: "clicked"
}
SignalSpy {
id: listItemTriggeredSpy
target: listItemStandard
signalName: "triggered"
}
}
}
|