Test_40456774.swift [plain text]
//
// Test_40456774.swift
// IOHIDFamilyUnitTests
//
// Created by dekom on 9/24/18.
//
import Foundation
import XCTest
import HID
@objc(Test_40456774) class Test_40456774 : XCTestCase {
var queue : DispatchQueue!
var addedExp : XCTestExpectation!
var removedExp : XCTestExpectation!
var manager : HIDManager!
override func setUp() {
queue = DispatchQueue(label: "")
manager = HIDManager()
manager.setDeviceMatching([kIOHIDLocationIDKey : 12345678])
manager.setDeviceNotificationHandler { (device, added) in
print("Device \(device)", added ? "added" : "removed")
if added {
self.addedExp.fulfill()
} else {
self.removedExp.fulfill()
}
}
manager.setDispatchQueue(queue)
manager.activate()
}
override func tearDown() {
manager.cancel()
}
func test_40456774() {
let desc = NSData(bytesNoCopy: UnsafeMutableRawPointer(mutating: HIDKeyboardDescriptor),
length: HIDKeyboardDescriptor.count,
freeWhenDone: false)
let properties : [String : Any] = [kIOHIDReportDescriptorKey: desc,
kIOHIDLocationIDKey: 12345678]
for _ in 0..<20 {
addedExp = XCTestExpectation(description: "HIDUserDevice added")
removedExp = XCTestExpectation(description: "HIDUserDevice removed")
var device : HIDUserDevice? = HIDUserDevice(properties: properties)
XCTAssert(device != nil, "Failed to create HIDUserDevice")
var result = XCTWaiter.wait(for: [addedExp], timeout: 5)
XCTAssert(result == XCTWaiter.Result.completed)
device = nil
result = XCTWaiter.wait(for: [removedExp], timeout: 5)
XCTAssert(result == XCTWaiter.Result.completed)
}
}
}