| Index: chrome/test/data/extensions/api_test/native_messaging/test.js
|
| diff --git a/chrome/test/data/extensions/api_test/native_messaging/test.js b/chrome/test/data/extensions/api_test/native_messaging/test.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..cb58585ff73cea79ccb99eb8adb7341e6a946b75
|
| --- /dev/null
|
| +++ b/chrome/test/data/extensions/api_test/native_messaging/test.js
|
| @@ -0,0 +1,47 @@
|
| +// Copyright (c) 2012 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.getConfig(function(config) {
|
| + chrome.test.runTests([
|
| +
|
| + function sendMessageWithCallback() {
|
| + var message = {"text": "Hi there!", "number": 3};
|
| + chrome.extension.sendNativeMessage(
|
| + 'echo.py', message,
|
| + chrome.test.callbackPass(function(nativeResponse) {
|
| + var expectedResponse = {"id": 1, "echo": message};
|
| + chrome.test.assertEq(expectedResponse, nativeResponse);
|
| + }));
|
| + },
|
| +
|
| + // The goal of this test, is just not to crash.
|
| + function sendMessageWithoutCallback() {
|
| + var message = {"text": "Hi there!", "number": 3};
|
| + chrome.extension.sendNativeMessage('echo.py', message);
|
| + chrome.test.succeed(); // Mission Complete
|
| + },
|
| +
|
| + function connect() {
|
| + var messagesToSend = [{"text": "foo"},
|
| + {"text": "bar", "funCount": 9001},
|
| + {}];
|
| + var expectedResponses = [{"id": 1, "echo": messagesToSend[0]},
|
| + {"id": 2, "echo": messagesToSend[1]},
|
| + {"id": 3, "echo": messagesToSend[2]}];
|
| + var currentMessage = 0;
|
| +
|
| + port = chrome.extension.connectNative('echo.py',
|
| + messagesToSend[currentMessage]);
|
| + port.onMessage.addListener(function(message) {
|
| + chrome.test.assertEq(expectedResponses[currentMessage], message);
|
| + currentMessage++;
|
| +
|
| + if (currentMessage == expectedResponses.length)
|
| + chrome.test.notifyPass();
|
| + else
|
| + port.postMessage(messagesToSend[currentMessage]);
|
| + });
|
| + }
|
| + ]);
|
| +});
|
|
|