| Index: chrome/test/data/extensions/api_test/usb/invalid_length_transfer/test.js
|
| ===================================================================
|
| --- chrome/test/data/extensions/api_test/usb/invalid_length_transfer/test.js (revision 182892)
|
| +++ chrome/test/data/extensions/api_test/usb/invalid_length_transfer/test.js (working copy)
|
| @@ -23,9 +23,16 @@
|
| "transferInfo": genericTransfer,
|
| "packets": 0
|
| };
|
| -var errorMessage = 'Transfer length must be a ' +
|
| +var errorTransferLength = 'Transfer length must be a ' +
|
| 'positive number less than 104,857,600.';
|
| +var errorNumPackets = 'Number of packets must be a ' +
|
| + 'positive number less than 4,194,304.';
|
| +var errorPacketLength = 'Packet length must be a ' +
|
| + 'positive number less than 65,536.';
|
| +var errorInsufficientTransferLength = 'Transfer length is insufficient.';
|
| var largeSize = 100 * 1024 * 1024 + 1;
|
| +var maxPackets = 4 * 1024 * 1024;
|
| +var maxPacketLength = 64 * 1024;
|
|
|
| function createInvalidTransferTest(usbFunction, transferInfo, transferLength) {
|
| return function() {
|
| @@ -34,11 +41,26 @@
|
| usb.findDevices({vendorId: 0, productId: 0}, function(devices) {
|
| var device = devices[0];
|
| usbFunction(device, transferInfo, chrome.test.callbackFail(
|
| - errorMessage, function() {}));
|
| + errorTransferLength, function() {}));
|
| });
|
| };
|
| }
|
|
|
| +function createInvalidPacketLengthTest(
|
| + transferLength, packets, packetLength, errorMessage) {
|
| + return function() {
|
| + genericTransfer["length"] = transferLength;
|
| + isoTransfer["packets"] = packets;
|
| + isoTransfer["packetLength"] = packetLength;
|
| + usb.findDevices({vendorId: 0, productId: 0}, function(devices) {
|
| + var device = devices[0];
|
| + usb.isochronousTransfer(device, isoTransfer,
|
| + chrome.test.callbackFail(
|
| + errorMessage, function() {}));
|
| + });
|
| + };
|
| +}
|
| +
|
| var tests = [
|
| createInvalidTransferTest(usb.bulkTransfer, genericTransfer, -1),
|
| createInvalidTransferTest(usb.controlTransfer, controlTransfer, -1),
|
| @@ -47,7 +69,13 @@
|
| createInvalidTransferTest(usb.bulkTransfer, genericTransfer, largeSize),
|
| createInvalidTransferTest(usb.controlTransfer, controlTransfer, largeSize),
|
| createInvalidTransferTest(usb.interruptTransfer, genericTransfer, largeSize),
|
| - createInvalidTransferTest(usb.isochronousTransfer, isoTransfer, largeSize)
|
| + createInvalidTransferTest(usb.isochronousTransfer, isoTransfer, largeSize),
|
| +
|
| + createInvalidPacketLengthTest(1024, -1, 0, errorNumPackets),
|
| + createInvalidPacketLengthTest(maxPackets, maxPackets, 0, errorNumPackets),
|
| + createInvalidPacketLengthTest(1024, 100, -1, errorPacketLength),
|
| + createInvalidPacketLengthTest(1024, 100, maxPacketLength, errorPacketLength),
|
| + createInvalidPacketLengthTest(1024, 1025, 0, errorInsufficientTransferLength)
|
| ];
|
|
|
| chrome.test.runTests(tests);
|
|
|