2
* Copyright 2016 Canonical Ltd.
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU Lesser General Public License as published by
6
* the Free Software Foundation; version 3.
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
* Authored by Marco Trevisan <marco.trevisan@canonical.com>
21
import Ubuntu.Test 0.1
22
import Ubuntu.Settings.Menus 0.1
53
function getRadio(item) {
54
var radio = findChild(item, "bullet");
55
verify(radio !== undefined)
60
clickMenu.checked = false
64
function test_checked() {
65
compare(getRadio(radioMenu).visible, false, "radio should be hidden by default")
68
function test_unChecked() {
69
compare(getRadio(checkedRadioMenu).visible, true, "radio should be visible on checked item")
72
function checkedData() {
73
return [ {tag: "unchecked", checked: false}, {tag: "checked", checked: true}]
76
function test_radioVisiblity_data() {
80
function test_radioVisiblity(data) {
81
clickMenu.checked = data.checked
82
compare(getRadio(clickMenu).visible, data.checked, "radio should be %1 by default".arg(data.checked ? "visible" : "hidden"))
85
function test_clickEvent_data() {
89
function test_clickEvent(data) {
90
signalSpy.target = clickMenu
91
signalSpy.signalName = "onClicked"
92
clickMenu.checked = data.checked
93
mouseClick(clickMenu, clickMenu.width/2, clickMenu.height/2)
94
compare(signalSpy.count, 1)
97
function test_triggeredEvent_data() {
101
function test_triggeredEvent(data) {
102
signalSpy.target = clickMenu
103
signalSpy.signalName = "onTriggered"
104
clickMenu.checked = data.checked
105
mouseClick(clickMenu, clickMenu.width/2, clickMenu.height/2)
106
compare(signalSpy.count, 1)
107
compare(signalSpy.signalArguments[0][0], true)
110
function test_onCheckedChanged_data() {
114
function test_onCheckedChanged(data) {
115
clickMenu.checked = data.checked
117
signalSpy.target = clickMenu
118
signalSpy.signalName = "onCheckedChanged"
119
mouseClick(clickMenu, clickMenu.width/2, clickMenu.height/2)
120
compare(signalSpy.count, data.checked ? 0 : 1)
121
compare(clickMenu.checked, true)
124
function test_ClickOnCheckedDoesntUnchecks() {
125
clickMenu.checked = true
127
signalSpy.target = clickMenu
128
signalSpy.signalName = "onTriggered"
129
compare(clickMenu.checked, true)
130
mouseClick(clickMenu, clickMenu.width/2, clickMenu.height/2)
131
compare(signalSpy.count, 1)
132
compare(clickMenu.checked, true)