Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / chrome / test / data / extensions / api_test / usb / reset_device / test.js
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 var usb = chrome.usb;
6
7 function resetDevice() {
8   usb.findDevices({vendorId: 0, productId: 0}, function(devices) {
9     usb.resetDevice(devices[0], function(result) {
10       chrome.test.assertEq(result, true);
11       // Ensure the device is still open.
12       var transfer = {
13         direction: "out",
14         endpoint: 2,
15         data: new ArrayBuffer(1)
16       };
17       usb.interruptTransfer(devices[0], transfer, function(result) {
18         // This is designed to fail.
19         usb.resetDevice(devices[0], function(result) {
20           chrome.test.assertEq(result, false);
21           usb.interruptTransfer(devices[0], transfer, function(result) {
22             chrome.test.assertEq(result, undefined);
23             chrome.test.assertEq(
24                 chrome.runtime.lastError && chrome.runtime.lastError.message,
25                 'No such device.'
26             );
27             chrome.test.succeed();
28           });
29         });
30       });
31     });
32   });
33 }
34
35 chrome.test.runTests([resetDevice]);