- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / test / data / devtools / extensions / devtools_messaging / devtools.js
1 // Copyright (c) 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 function output(msg) {
6   chrome.devtools.inspectedWindow.eval("console.log(unescape('" +
7       escape(msg) + "'));")
8 }
9
10 var hadErrors = false;
11
12 function assertEquals(expected, actual) {
13   if (expected === actual)
14     return;
15   output("FAIL: expected '" + expected + "', got '" + actual + "'");
16   hadErrors = true;
17   throw "assertion failed";
18 }
19
20 function completeTest() {
21   if (!hadErrors)
22     output("PASS");
23 }
24
25 function step1() {
26   chrome.extension.sendRequest("foo", function(response) {
27     assertEquals('onRequest callback: "foo"', response);
28     step2();
29   });
30 }
31
32 function step2() {
33   var object = { "string": "foo", "number": 42 };
34   chrome.extension.sendRequest(object, function(response) {
35     assertEquals('onRequest callback: ' + JSON.stringify(object), response);
36     step3();
37   });
38 }
39
40 function step3() {
41   function onMessage(message) {
42     assertEquals("port.onMessage: foo", message);
43     completeTest();
44   }
45   var port = chrome.runtime.connect();
46   port.onMessage.addListener(onMessage);
47   port.postMessage("foo");
48 }
49
50 step1();