diff options
Diffstat (limited to 'devtools/client/webide/test/test_app_validator.html')
-rw-r--r-- | devtools/client/webide/test/test_app_validator.html | 205 |
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> |