Warning, /frameworks/bluez-qt/autotests/qml/tst_adapter.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 * SPDX-FileCopyrightText: 2015 David Rosca <nowrep@gmail.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 import QtTest 1.0 0008 import QtQuick 2.2 0009 import org.kde.bluezqt.fakebluez 1.0 0010 import org.kde.bluezqt 1.0 as BluezQt 0011 0012 TestCase { 0013 name: "Adapter" 0014 property QtObject manager : BluezQt.Manager; 0015 property var adapter1props; 0016 property var adapter2props; 0017 0018 function initTestCase() 0019 { 0020 FakeBluez.start(); 0021 FakeBluez.runTest("bluez-standard"); 0022 0023 // Create adapters 0024 var adapter1path = "/org/bluez/hci0"; 0025 adapter1props = { 0026 Path: adapter1path, 0027 Address: "1C:E5:C3:BC:94:7E", 0028 Name: "TestAdapter", 0029 Alias: "TestAlias", 0030 Class: 101, 0031 Powered: false, 0032 Discoverable: false, 0033 Pairable: false, 0034 PairableTimeout: 0, 0035 DiscoverableTimeout: 0, 0036 Discovering: false, 0037 UUIDs: [ "00001200-0000-1000-8000-00805f9b34fb" ], 0038 Modalias: "usb:v2D6Bp1236d0215", 0039 _toDBusObjectPath: [ "Path" ] 0040 } 0041 FakeBluez.runAction("devicemanager", "create-adapter", adapter1props); 0042 0043 var adapter2path = "/org/bluez/hci1"; 0044 adapter2props = { 0045 Path: adapter2path, 0046 Address: "2E:3A:C3:BC:85:7C", 0047 Name: "TestAdapter2", 0048 Alias: "TestAlias2", 0049 Class: 201, 0050 Powered: true, 0051 Discoverable: true, 0052 Pairable: true, 0053 PairableTimeout: 150, 0054 DiscoverableTimeout: 120, 0055 Discovering: false, 0056 UUIDs: [ "0000110c-0000-1000-8000-00805f9b34fb" ], 0057 Modalias: "usb:v1D3Bp1134d0214", 0058 _toDBusObjectPath: [ "Path" ] 0059 } 0060 FakeBluez.runAction("devicemanager", "create-adapter", adapter2props); 0061 0062 // Create devices 0063 var device1props = { 0064 Path: "/org/bluez/hci0/dev_40_79_6A_0C_39_75", 0065 Adapter: adapter1path, 0066 Address: "40:79:6A:0C:39:75", 0067 Name: "TestDevice", 0068 _toDBusObjectPath: [ "Path", "Adapter" ] 0069 } 0070 FakeBluez.runAction("devicemanager", "create-device", device1props); 0071 0072 var device2props = { 0073 Path: "/org/bluez/hci1/dev_50_79_6A_0C_39_75", 0074 Adapter: adapter2path, 0075 Address: "50:79:6A:0C:39:75", 0076 Name: "TestDevice2", 0077 _toDBusObjectPath: [ "Path", "Adapter" ] 0078 } 0079 FakeBluez.runAction("devicemanager", "create-device", device2props); 0080 0081 tryCompare(manager, "operational", true); 0082 compare(manager.adapters.length, 2, "adapters-length"); 0083 compare(manager.devices.length, 2, "devices-length"); 0084 } 0085 0086 function cleanupTestCase() 0087 { 0088 FakeBluez.stop(); 0089 } 0090 0091 function compareProperties(adapter, props) 0092 { 0093 compare(adapter.ubi, props.Path, "ubi"); 0094 compare(adapter.address, props.Address, "address"); 0095 compare(adapter.name, props.Alias, "name"); 0096 compare(adapter.systemName, props.Name, "systemName"); 0097 compare(adapter.adapterClass, props.Class, "adapterClass"); 0098 compare(adapter.powered, props.Powered, "powered"); 0099 compare(adapter.discoverable, props.Discoverable, "discoverable"); 0100 compare(adapter.pairable, props.Pairable, "pairable"); 0101 compare(adapter.pairableTimeout, props.PairableTimeout, "pairableTimeout"); 0102 compare(adapter.discoverableTimeout, props.DiscoverableTimeout, "discoverableTimeout"); 0103 compare(adapter.discovering, props.Discovering, "discovering"); 0104 compare(adapter.modalias, props.Modalias, "modalias"); 0105 0106 for (var i = 0; i < adapter.uuids.length; ++i) { 0107 compare(adapter.uuids[i], props.UUIDs[i].toUpperCase(), "uuids" + i); 0108 } 0109 } 0110 0111 function test_getProperties() 0112 { 0113 var adapter1 = manager.adapterForUbi(adapter1props.Path); 0114 var adapter2 = manager.adapterForUbi(adapter2props.Path); 0115 compareProperties(adapter1, adapter1props); 0116 compareProperties(adapter2, adapter2props); 0117 } 0118 0119 SignalSpy { 0120 id: nameChangedSpy 0121 signalName: "nameChanged" 0122 } 0123 0124 function test_setName() 0125 { 0126 for (var i = 0; i < manager.adapters.length; ++i) { 0127 var adapter = manager.adapters[i]; 0128 var value = adapter.name + "tst_name"; 0129 0130 nameChangedSpy.clear(); 0131 nameChangedSpy.target = adapter; 0132 0133 adapter.name = value; 0134 0135 tryCompare(nameChangedSpy, "count", 1); 0136 compare(adapter.name, value); 0137 } 0138 } 0139 0140 SignalSpy { 0141 id: poweredChangedSpy 0142 signalName: "poweredChanged" 0143 } 0144 0145 function test_setPowered() 0146 { 0147 for (var i = 0; i < manager.adapters.length; ++i) { 0148 var adapter = manager.adapters[i]; 0149 var value = !adapter.powered; 0150 0151 poweredChangedSpy.clear(); 0152 poweredChangedSpy.target = adapter; 0153 0154 adapter.powered = value; 0155 0156 tryCompare(poweredChangedSpy, "count", 1); 0157 compare(adapter.powered, value); 0158 } 0159 } 0160 0161 SignalSpy { 0162 id: discoveringChangedSpy 0163 signalName: "discoveringChanged" 0164 } 0165 0166 function test_discovery() 0167 { 0168 for (var i = 0; i < manager.adapters.length; ++i) { 0169 var adapter = manager.adapters[i]; 0170 0171 discoveringChangedSpy.clear(); 0172 discoveringChangedSpy.target = adapter; 0173 0174 adapter.startDiscovery(); 0175 0176 tryCompare(discoveringChangedSpy, "count", 1); 0177 compare(adapter.discovering, true); 0178 0179 discoveringChangedSpy.clear(); 0180 0181 adapter.stopDiscovery(); 0182 0183 tryCompare(discoveringChangedSpy, "count", 1); 0184 compare(adapter.discovering, false); 0185 } 0186 } 0187 0188 SignalSpy { 0189 id: managerDeviceRemovedSpy 0190 signalName: "deviceRemoved" 0191 } 0192 0193 SignalSpy { 0194 id: adapterDeviceRemovedSpy 0195 signalName: "deviceRemoved" 0196 } 0197 0198 SignalSpy { 0199 id: deviceDeviceRemovedSpy 0200 signalName: "deviceRemoved" 0201 } 0202 0203 // za prefix to force test order - second last 0204 function test_za_RemoveDevice() 0205 { 0206 for (var i = 0; i < manager.adapters.length; ++i) { 0207 var adapter = manager.adapters[i]; 0208 while (adapter.devices.length > 0) { 0209 var device = adapter.devices[0]; 0210 0211 managerDeviceRemovedSpy.clear(); 0212 managerDeviceRemovedSpy.target = manager; 0213 adapterDeviceRemovedSpy.clear(); 0214 adapterDeviceRemovedSpy.target = adapter; 0215 deviceDeviceRemovedSpy.clear(); 0216 deviceDeviceRemovedSpy.target = device; 0217 0218 adapter.removeDevice(device); 0219 0220 tryCompare(managerDeviceRemovedSpy, "count", 1); 0221 tryCompare(adapterDeviceRemovedSpy, "count", 1); 0222 tryCompare(deviceDeviceRemovedSpy, "count", 1); 0223 } 0224 } 0225 } 0226 0227 SignalSpy { 0228 id: managerAdapterRemovedSpy 0229 signalName: "adapterRemoved" 0230 } 0231 0232 SignalSpy { 0233 id: adapterAdapterRemovedSpy 0234 signalName: "adapterRemoved" 0235 } 0236 0237 // zb prefix to force test order - last 0238 function test_zb_AdapterRemoved() 0239 { 0240 while (manager.adapters.length > 0) { 0241 var adapter = manager.adapters[0]; 0242 0243 managerAdapterRemovedSpy.clear(); 0244 managerAdapterRemovedSpy.target = manager; 0245 adapterAdapterRemovedSpy.clear(); 0246 adapterAdapterRemovedSpy.target = adapter; 0247 0248 var props = { 0249 Path: adapter.ubi, 0250 _toDBusObjectPath: [ "Path" ] 0251 } 0252 FakeBluez.runAction("devicemanager", "remove-adapter", props); 0253 0254 tryCompare(managerAdapterRemovedSpy, "count", 1); 0255 tryCompare(adapterAdapterRemovedSpy, "count", 1); 0256 } 0257 } 0258 } 0259