toolkit/devtools/server/tests/mochitest/test_device.html

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/toolkit/devtools/server/tests/mochitest/test_device.html	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,97 @@
     1.4 +<!DOCTYPE HTML>
     1.5 +<html>
     1.6 +<!--
     1.7 +Bug 895360 - [app manager] Device meta data actor
     1.8 +-->
     1.9 +<head>
    1.10 +  <meta charset="utf-8">
    1.11 +  <title>Mozilla Bug</title>
    1.12 +  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
    1.13 +  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
    1.14 +</head>
    1.15 +<body>
    1.16 +<pre id="test">
    1.17 +<script>
    1.18 +
    1.19 +window.onload = function() {
    1.20 +  var Cu = Components.utils;
    1.21 +  var Cc = Components.classes;
    1.22 +  var Ci = Components.interfaces;
    1.23 +
    1.24 +  Cu.import("resource://gre/modules/PermissionsTable.jsm");
    1.25 +  Cu.import("resource://gre/modules/devtools/Loader.jsm");
    1.26 +  Cu.import("resource://gre/modules/devtools/dbg-client.jsm");
    1.27 +  Cu.import("resource://gre/modules/devtools/dbg-server.jsm");
    1.28 +  Cu.import("resource://gre/modules/Services.jsm");
    1.29 +
    1.30 +  SimpleTest.waitForExplicitFinish();
    1.31 +
    1.32 +  var {getDeviceFront} = devtools.require("devtools/server/actors/device");
    1.33 +
    1.34 +  DebuggerServer.init(function () { return true; });
    1.35 +  DebuggerServer.addBrowserActors();
    1.36 +
    1.37 +  var client = new DebuggerClient(DebuggerServer.connectPipe());
    1.38 +  client.connect(function onConnect() {
    1.39 +    client.listTabs(function onListTabs(aResponse) {
    1.40 +      var d = getDeviceFront(client, aResponse);
    1.41 +
    1.42 +      var desc, permissions;
    1.43 +      var appInfo = Services.appinfo;
    1.44 +      var utils = window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
    1.45 +
    1.46 +
    1.47 +      var localDesc = {
    1.48 +        appid: appInfo.ID,
    1.49 +        vendor: appInfo.vendor,
    1.50 +        name: appInfo.name,
    1.51 +        version: appInfo.version,
    1.52 +        appbuildid: appInfo.appBuildID,
    1.53 +        platformbuildid: appInfo.platformBuildID,
    1.54 +        platformversion: appInfo.platformVersion,
    1.55 +        geckobuildid: appInfo.platformBuildID,
    1.56 +        geckoversion: appInfo.platformVersion,
    1.57 +        useragent: window.navigator.userAgent,
    1.58 +        locale: Cc["@mozilla.org/chrome/chrome-registry;1"].getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global"),
    1.59 +        os: appInfo.OS,
    1.60 +        processor: appInfo.XPCOMABI.split("-")[0],
    1.61 +        compiler: appInfo.XPCOMABI.split("-")[1],
    1.62 +        dpi: utils.displayDPI,
    1.63 +        width: window.screen.width,
    1.64 +        height: window.screen.height
    1.65 +      }
    1.66 +
    1.67 +      function checkValues() {
    1.68 +        for (var key in localDesc) {
    1.69 +          is(desc[key], localDesc[key], "valid field (" + key + ")");
    1.70 +        }
    1.71 +
    1.72 +        var currProfD = Services.dirsvc.get("ProfD", Ci.nsIFile);
    1.73 +        var profileDir = currProfD.path;
    1.74 +        ok(profileDir.indexOf(desc.profile.length > 0 && desc.profile) != -1, "valid profile name");
    1.75 +
    1.76 +        var a = JSON.stringify(PermissionsTable);
    1.77 +        var b = JSON.stringify(permissions.rawPermissionsTable);
    1.78 +
    1.79 +        is(a, b, "Permissions Tables is valid");
    1.80 +
    1.81 +        client.close(() => {
    1.82 +          DebuggerServer.destroy();
    1.83 +          SimpleTest.finish()
    1.84 +        });
    1.85 +      }
    1.86 +
    1.87 +
    1.88 +      d.getDescription().then((v) => desc = v)
    1.89 +      .then(() => d.getRawPermissionsTable())
    1.90 +      .then((json) => permissions = json)
    1.91 +      .then(checkValues);
    1.92 +
    1.93 +    });
    1.94 +  });
    1.95 +
    1.96 +}
    1.97 +</script>
    1.98 +</pre>
    1.99 +</body>
   1.100 +</html>

mercurial