browser/devtools/app-manager/test/test_connection_store.html

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 <!DOCTYPE html>
     3 <!--
     4 Bug 901519 - [app manager] data store for connections
     5 -->
     7 <html>
     9   <head>
    10     <meta charset="utf8">
    11     <title></title>
    13     <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
    14     <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
    15   </head>
    17   <body>
    19     <div id="root">
    20       <span id="status" template='{"type":"textContent","path":"status"}'></span>
    21       <span id="host" template='{"type":"textContent","path":"host"}'></span>
    22       <span id="port" template='{"type":"textContent","path":"port"}'></span>
    23     </div>
    25     <script type="application/javascript;version=1.8" src="chrome://browser/content/devtools/app-manager/template.js"></script>
    26     <script type="application/javascript;version=1.8">
    27       const Cu = Components.utils;
    28       Cu.import("resource://gre/modules/devtools/dbg-server.jsm");
    29       DebuggerServer.init(function () { return true; });
    30       DebuggerServer.addBrowserActors();
    32       window.onload = function() {
    33         SimpleTest.waitForExplicitFinish();
    35         Cu.import("resource://gre/modules/Services.jsm");
    36         Cu.import("resource:///modules/devtools/gDevTools.jsm");
    38         const {devtools} = Cu.import("resource://gre/modules/devtools/Loader.jsm", {});
    39         const {require} = devtools;
    41         const {ConnectionManager} = require("devtools/client/connection-manager");
    42         const ConnectionStore = require("devtools/app-manager/connection-store");
    44         let connection = ConnectionManager.createConnection();
    45         let store = new ConnectionStore(connection);
    47         let root = document.querySelector("#root");
    48         let status = root.querySelector("#status");
    49         let host = root.querySelector("#host");
    50         let port = root.querySelector("#port");
    51         let template = new Template(root, store, () => {});
    52         template.start();
    54         connection.host = "foobar";
    55         connection.port = 42;
    57         is(host.textContent, "foobar", "host updated");
    58         is(port.textContent, 42, "port updated");
    60         let been_through_connecting = false;
    61         let been_through_connected = false;
    62         let been_through_disconnected = false;
    64         is(status.textContent, "disconnected", "status updated (diconnected)");
    66         connection.once("connecting", (e) => {
    67           SimpleTest.executeSoon(() => {
    68             been_through_connecting = true;
    69             is(status.textContent, "connecting", "status updated (connecting)");
    70           })
    71         });
    73         connection.once("connected", (e) => {
    74           SimpleTest.executeSoon(() => {
    75             been_through_connected = true;
    76             is(status.textContent, "connected", "status updated (connected)");
    77             connection.disconnect();
    78           })
    79         });
    81         connection.once("disconnected", (e) => {
    82           SimpleTest.executeSoon(() => {
    83             been_through_disconnected = true;
    84             is(status.textContent, "disconnected", "status updated (disconnected)");
    85             connection.destroy();
    86             finishup();
    87           })
    88         });
    90         function finishup() {
    91           ok(been_through_connecting &&
    92             been_through_connected &&
    93             been_through_disconnected, "All updates happened");
    94           DebuggerServer.destroy();
    95           SimpleTest.finish();
    96         }
    98         connection.host = null; // force pipe
    99         connection.port = null;
   101         connection.connect();
   102       }
   104     </script>
   105   </body>
   106 </html>

mercurial