summaryrefslogtreecommitdiffstats
path: root/devtools/client/webide/test/test_app_validator.html
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/webide/test/test_app_validator.html')
-rw-r--r--devtools/client/webide/test/test_app_validator.html205
1 files changed, 0 insertions, 205 deletions
diff --git a/devtools/client/webide/test/test_app_validator.html b/devtools/client/webide/test/test_app_validator.html
deleted file mode 100644
index 60ed29aac..000000000
--- a/devtools/client/webide/test/test_app_validator.html
+++ /dev/null
@@ -1,205 +0,0 @@
-<!DOCTYPE html>
-
-<html>
-
- <head>
- <meta charset="utf8">
- <title></title>
-
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <script type="application/javascript" src="chrome://mochikit/content/chrome-harness.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
- </head>
-
- <body>
-
- <script type="application/javascript;version=1.8">
- const Cu = Components.utils;
- const Cc = Components.classes;
- const Ci = Components.interfaces;
- Cu.import("resource://testing-common/httpd.js");
- const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
-
- const {AppValidator} = require("devtools/client/webide/modules/app-validator");
- const Services = require("Services");
- const nsFile = Components.Constructor("@mozilla.org/file/local;1",
- "nsILocalFile", "initWithPath");
- const cr = Cc["@mozilla.org/chrome/chrome-registry;1"]
- .getService(Ci.nsIChromeRegistry);
- const strings = Services.strings.createBundle("chrome://devtools/locale/app-manager.properties");
- let httpserver, origin;
-
- window.onload = function() {
- SimpleTest.waitForExplicitFinish();
-
- httpserver = new HttpServer();
- httpserver.start(-1);
- origin = "http://localhost:" + httpserver.identity.primaryPort + "/";
-
- next();
- }
-
- function createHosted(path, manifestFile="/manifest.webapp") {
- let dirPath = getTestFilePath("validator/" + path);
- httpserver.registerDirectory("/", nsFile(dirPath));
- return new AppValidator({
- type: "hosted",
- location: origin + manifestFile
- });
- }
-
- function createPackaged(path) {
- let dirPath = getTestFilePath("validator/" + path);
- return new AppValidator({
- type: "packaged",
- location: dirPath
- });
- }
-
- function next() {
- let test = tests.shift();
- if (test) {
- try {
- test();
- } catch(e) {
- console.error("exception", String(e), e, e.stack);
- }
- } else {
- httpserver.stop(function() {
- SimpleTest.finish();
- });
- }
- }
-
- let tests = [
- // Test a 100% valid example
- function () {
- let validator = createHosted("valid");
- validator.validate().then(() => {
- is(validator.errors.length, 0, "valid app got no error");
- is(validator.warnings.length, 0, "valid app got no warning");
-
- next();
- });
- },
-
- function () {
- let validator = createPackaged("valid");
- validator.validate().then(() => {
- is(validator.errors.length, 0, "valid packaged app got no error");
- is(validator.warnings.length, 0, "valid packaged app got no warning");
-
- next();
- });
- },
-
- // Test a launch path that returns a 404
- function () {
- let validator = createHosted("wrong-launch-path");
- validator.validate().then(() => {
- is(validator.errors.length, 1, "app with non-existant launch path got an error");
- is(validator.errors[0], strings.formatStringFromName("validator.accessFailedLaunchPathBadHttpCode", [origin + "wrong-path.html", 404], 2),
- "with the right error message");
- is(validator.warnings.length, 0, "but no warning");
- next();
- });
- },
- function () {
- let validator = createPackaged("wrong-launch-path");
- validator.validate().then(() => {
- is(validator.errors.length, 1, "app with wrong path got an error");
- let file = nsFile(validator.location);
- file.append("wrong-path.html");
- let url = Services.io.newFileURI(file);
- is(validator.errors[0], strings.formatStringFromName("validator.accessFailedLaunchPath", [url.spec], 1),
- "with the expected message");
- is(validator.warnings.length, 0, "but no warning");
-
- next();
- });
- },
-
- // Test when using a non-absolute path for launch_path
- function () {
- let validator = createHosted("non-absolute-path");
- validator.validate().then(() => {
- is(validator.errors.length, 1, "app with non absolute path got an error");
- is(validator.errors[0], strings.formatStringFromName("validator.nonAbsoluteLaunchPath", ["non-absolute.html"], 1),
- "with expected message");
- is(validator.warnings.length, 0, "but no warning");
- next();
- });
- },
- function () {
- let validator = createPackaged("non-absolute-path");
- validator.validate().then(() => {
- is(validator.errors.length, 1, "app with non absolute path got an error");
- is(validator.errors[0], strings.formatStringFromName("validator.nonAbsoluteLaunchPath", ["non-absolute.html"], 1),
- "with expected message");
- is(validator.warnings.length, 0, "but no warning");
- next();
- });
- },
-
- // Test multiple failures (missing name [error] and icon [warning])
- function () {
- let validator = createHosted("no-name-or-icon");
- validator.validate().then(() => {
- checkNoNameOrIcon(validator);
- });
- },
- function () {
- let validator = createPackaged("no-name-or-icon");
- validator.validate().then(() => {
- checkNoNameOrIcon(validator);
- });
- },
-
- // Test a regular URL instead of a direct link to the manifest
- function () {
- let validator = createHosted("valid", "/");
- validator.validate().then(() => {
- is(validator.warnings.length, 0, "manifest found got no warning");
- is(validator.errors.length, 0, "manifest found got no error");
-
- next();
- });
- },
-
- // Test finding a manifest at origin's root
- function () {
- let validator = createHosted("valid", "/unexisting-dir");
- validator.validate().then(() => {
- is(validator.warnings.length, 0, "manifest found at origin root got no warning");
- is(validator.errors.length, 0, "manifest found at origin root got no error");
-
- next();
- });
- },
-
- // Test priorization of manifest.webapp at provided location instead of a manifest located at origin's root
- function() {
- let validator = createHosted("valid", "/alsoValid");
- validator.validate().then(() => {
- is(validator.manifest.name, "valid at subfolder", "manifest at subfolder was used");
-
- next();
- });
- }
- ];
-
- function checkNoNameOrIcon(validator) {
- is(validator.errors.length, 1, "app with no name has an error");
- is(validator.errors[0],
- strings.GetStringFromName("validator.missNameManifestProperty"),
- "with expected message");
- is(validator.warnings.length, 1, "app with no icon has a warning");
- is(validator.warnings[0],
- strings.GetStringFromName("validator.missIconsManifestProperty"),
- "with expected message");
- next();
- }
-
- </script>
- </body>
-</html>