| Index: extensions/test/data/keep_alive_client_unittest.js
|
| diff --git a/extensions/test/data/keep_alive_client_unittest.js b/extensions/test/data/keep_alive_client_unittest.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7b88fb0a8ecdc4e4061555d8063ddc4b172babae
|
| --- /dev/null
|
| +++ b/extensions/test/data/keep_alive_client_unittest.js
|
| @@ -0,0 +1,44 @@
|
| +// Copyright 2014 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.
|
| +
|
| +/**
|
| + * Unit tests for the keep-alive client.
|
| + *
|
| + * They are launched by extensions/renderer/mojo/keep_alive_client_unittest.cc.
|
| + */
|
| +
|
| +var test = require('test').binding;
|
| +var unittestBindings = require('test_environment_specific_bindings');
|
| +var utils = require('utils');
|
| +
|
| +var shouldSucceed;
|
| +
|
| +// We need to set custom bindings for a real API and serial.getDevices has a
|
| +// simple signature.
|
| +var binding = require('binding').Binding.create('serial');
|
| +binding.registerCustomHook(function(bindingsAPI) {
|
| + bindingsAPI.apiFunctions.setHandleRequestWithPromise('getDevices',
|
| + function() {
|
| + if (shouldSucceed)
|
| + return Promise.resolve([]);
|
| + else
|
| + return Promise.reject();
|
| + });
|
| +});
|
| +var apiFunction = binding.generate().getDevices;
|
| +
|
| +unittestBindings.exportTests([
|
| + // Test that a keep alive is created and destroyed for a successful API call.
|
| + function testKeepAliveWithSuccessfulCall() {
|
| + shouldSucceed = true;
|
| + utils.promise(apiFunction).then(test.succeed, test.fail);
|
| + },
|
| +
|
| + // Test that a keep alive is created and destroyed for an unsuccessful API
|
| + // call.
|
| + function testKeepAliveWithError() {
|
| + shouldSucceed = false;
|
| + utils.promise(apiFunction).then(test.fail, test.succeed);
|
| + },
|
| +], test.runTests, exports);
|
|
|