diff options
Diffstat (limited to 'extensions/test')
-rw-r--r-- | extensions/test/data/api_test/printer_provider/usb_printers/manifest.json | 15 | ||||
-rw-r--r-- | extensions/test/data/api_test/printer_provider/usb_printers/test.js | 38 |
2 files changed, 53 insertions, 0 deletions
diff --git a/extensions/test/data/api_test/printer_provider/usb_printers/manifest.json b/extensions/test/data/api_test/printer_provider/usb_printers/manifest.json new file mode 100644 index 0000000..f11bc97 --- /dev/null +++ b/extensions/test/data/api_test/printer_provider/usb_printers/manifest.json @@ -0,0 +1,15 @@ +{ + "name": "Test USB printer provider", + "description": "Test extension for chrome.printerProvider.onUsbAccessGranted event", + "manifest_version": 2, + "version": "0.1", + "app": { + "background": { + "scripts": ["test.js"] + } + }, + "permissions": [ + "printerProvider", + "usb" + ] +} diff --git a/extensions/test/data/api_test/printer_provider/usb_printers/test.js b/extensions/test/data/api_test/printer_provider/usb_printers/test.js new file mode 100644 index 0000000..8df1ed1 --- /dev/null +++ b/extensions/test/data/api_test/printer_provider/usb_printers/test.js @@ -0,0 +1,38 @@ +// Copyright 2015 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +chrome.test.sendMessage('loaded', function(test) { + chrome.test.runTests([function printTest() { + if (test == 'NO_LISTENER') { + chrome.test.sendMessage('ready'); + chrome.test.succeed(); + return; + } + + chrome.printerProvider.onGetUsbPrinterInfoRequested.addListener( + function(device, callback) { + chrome.test.assertFalse(!!chrome.printerProviderInternal); + chrome.test.assertTrue(!!callback); + + if (test == 'EMPTY_RESPONSE') { + callback(); + } else { + callback({ + 'id': 'usbDevice-' + device.device, + 'name': 'Test Printer', + 'description': 'This printer is a USB device.', + }); + } + + chrome.test.assertThrows( + callback, + [], + 'Event callback must not be called more than once.'); + + chrome.test.succeed(); + }); + + chrome.test.sendMessage('ready'); + }]); +}); |