UNPKG

@hkvstore/taco-cli

Version:

taco-cli is a command-line interface for rapid Apache Cordova development (forked from Microsoft taco-cli)

92 lines (90 loc) 3.65 kB
// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for details. /// <reference path="../../typings/mocha.d.ts" /> /// <reference path="../../typings/node.d.ts" /> /// <reference path="../../typings/should.d.ts" /> /// <reference path="../../typings/cordovaExtensions.d.ts" /> /// <reference path="../../typings/del.d.ts" /> "use strict"; /* tslint:disable:no-var-requires */ // var require needed for should module to work correctly // Note not import: We don't want to refer to shouldModule, but we need the require to occur since it modifies the prototype of Object. var shouldModule = require("should"); /* tslint:enable:no-var-requires */ var del = require("del"); var http = require("http"); var os = require("os"); var path = require("path"); var Q = require("q"); var rimraf = require("rimraf"); var buildAndRunTelemetry = require("./buildAndRunTelemetry"); var kitHelper = require("../cli/utils/kitHelper"); var RemoteMock = require("./utils/remoteMock"); var TacoUtility = require("taco-utils"); var Command = buildAndRunTelemetry.Command; var utils = TacoUtility.UtilHelper; var CommandHelper = require("./utils/commandHelper"); var create = CommandHelper.getCommand("create"); describe("taco emulate", function () { var _this = this; var testHttpServer; var tacoHome = path.join(os.tmpdir(), "taco-cli", "emulate"); var originalCwd; var vcordova = "4.0.0"; function createCleanProject() { // Create a dummy test project with no platforms added utils.createDirectoryIfNecessary(tacoHome); process.chdir(tacoHome); return Q.denodeify(del)("example").then(function () { var args = ["example", "--cordova", vcordova]; return create.run(args); }) .then(function () { process.chdir(path.join(tacoHome, "example")); }); } before(function (mocha) { originalCwd = process.cwd(); // Set up mocked out resources process.env["TACO_UNIT_TEST"] = true; // Use a dummy home location so we don't trash any real configurations process.env["TACO_HOME"] = tacoHome; // Force KitHelper to fetch the package fresh kitHelper.kitPackagePromise = null; // Create a mocked out remote server so we can specify how it reacts testHttpServer = http.createServer(); var port = 3000; testHttpServer.listen(port); // Configure a dummy platform "test" to use the mocked out remote server in insecure mode RemoteMock.saveConfig("test", { host: "localhost", port: 3000, secure: false, mountPoint: "cordova" }).done(function () { mocha(); }, function (err) { mocha(err); }); }); after(function (done) { process.chdir(originalCwd); kitHelper.kitPackagePromise = null; testHttpServer.close(); rimraf(tacoHome, function (err) { done(); }); // ignore errors }); beforeEach(function (mocha) { Q.fcall(createCleanProject).done(function () { mocha(); }, function (err) { mocha(err); }); }); afterEach(function (mocha) { process.chdir(tacoHome); del("example", mocha); }); var emulateRun = function (args) { var emulate = CommandHelper.getCommand("emulate"); return emulate.run(args); }; describe("telemetry", function () { buildAndRunTelemetry.createBuildAndRunTelemetryTests.call(_this, emulateRun, Command.Emulate); }); }); //# sourceMappingURL=emulate.js.map