<!DOCTYPE HTML> <html> <!-- Bug 895360 - [app manager] Device meta data actor --> <head> <meta charset="utf-8"> <title>Mozilla Bug</title> <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"> </head> <body> <pre id="test"> <script> window.onload = function() { var Cu = Components.utils; var Cc = Components.classes; var Ci = Components.interfaces; Cu.import("resource://gre/modules/PermissionsTable.jsm"); var {require} = Cu.import("resource://devtools/shared/Loader.jsm", {}); var {DebuggerClient} = require("devtools/shared/client/main"); var {DebuggerServer} = require("devtools/server/main"); var Services = require("Services"); SimpleTest.waitForExplicitFinish(); var {getDeviceFront} = require("devtools/shared/fronts/device"); if (!DebuggerServer.initialized) { DebuggerServer.init(); DebuggerServer.addBrowserActors(); } var client = new DebuggerClient(DebuggerServer.connectPipe()); client.connect().then(function onConnect() { client.listTabs(function onListTabs(aResponse) { var d = getDeviceFront(client, aResponse); var desc, permissions; var appInfo = Services.appinfo; var utils = window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils); var localDesc = { appid: appInfo.ID, vendor: appInfo.vendor, name: appInfo.name, version: appInfo.version, appbuildid: appInfo.appBuildID, platformbuildid: appInfo.platformBuildID, platformversion: appInfo.platformVersion, geckobuildid: appInfo.platformBuildID, geckoversion: appInfo.platformVersion, useragent: window.navigator.userAgent, locale: Cc["@mozilla.org/chrome/chrome-registry;1"].getService(Ci.nsIXULChromeRegistry).getSelectedLocale("global"), os: appInfo.OS, processor: appInfo.XPCOMABI.split("-")[0], compiler: appInfo.XPCOMABI.split("-")[1], dpi: utils.displayDPI, width: window.screen.width, height: window.screen.height } function checkValues() { for (var key in localDesc) { is(desc[key], localDesc[key], "valid field (" + key + ")"); } var currProfD = Services.dirsvc.get("ProfD", Ci.nsIFile); var profileDir = currProfD.path; ok(profileDir.indexOf(desc.profile.length > 0 && desc.profile) != -1, "valid profile name"); var a = JSON.stringify(PermissionsTable); var b = JSON.stringify(permissions.rawPermissionsTable); is(a, b, "Permissions Tables is valid"); client.close().then(() => { DebuggerServer.destroy(); SimpleTest.finish() }); } d.getDescription().then((v) => desc = v) .then(() => d.getRawPermissionsTable()) .then((json) => permissions = json) .then(checkValues); }); }); } </script> </pre> </body> </html>