Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / chrome / test / data / devtools / extensions / devtools_messaging / devtools.js
blob56c2f14caeffd5192fe9f139eb280f3e0973ebd3
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.
5 function output(msg) {
6   chrome.devtools.inspectedWindow.eval("console.log(unescape('" +
7       escape(msg) + "'));")
10 var hadErrors = false;
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";
20 function completeTest() {
21   if (!hadErrors)
22     output("PASS");
25 function step1() {
26   chrome.extension.sendRequest("foo", function(response) {
27     assertEquals('onRequest callback: "foo"', response);
28     step2();
29   });
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   });
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");
50 step1();