addon-sdk/source/test/test-test-loader.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/addon-sdk/source/test/test-test-loader.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,60 @@
     1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public
     1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this
     1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     1.7 +
     1.8 +"use strict"
     1.9 +
    1.10 +const { LoaderWithHookedConsole } = require("sdk/test/loader");
    1.11 +
    1.12 +exports["test LoaderWithHookedConsole"] = function (assert) {
    1.13 +  let count = 0;
    1.14 +  function onMessage(type, message) {
    1.15 +    switch (count++) {
    1.16 +      case 0:
    1.17 +        assert.equal(type, "log", "got log type");
    1.18 +        assert.equal(message, "1st", "got log msg");
    1.19 +        break;
    1.20 +      case 1:
    1.21 +        assert.equal(type, "error", "got error type");
    1.22 +        assert.equal(message, "2nd", "got error msg");
    1.23 +        break;
    1.24 +      case 2:
    1.25 +        assert.equal(type, "warn", "got warn type");
    1.26 +        assert.equal(message, "3rd", "got warn msg");
    1.27 +        break;
    1.28 +      case 3:
    1.29 +        assert.equal(type, "info", "got info type");
    1.30 +        assert.equal(message, "4th", "got info msg");
    1.31 +        break;
    1.32 +      case 4:
    1.33 +        assert.equal(type, "debug", "got debug type");
    1.34 +        assert.equal(message, "5th", "got debug msg");
    1.35 +        break;
    1.36 +      case 5:
    1.37 +        assert.equal(type, "exception", "got exception type");
    1.38 +        assert.equal(message, "6th", "got exception msg");
    1.39 +        break;
    1.40 +      default:
    1.41 +        assert.fail("Got unexception message: " + i);
    1.42 +    }
    1.43 +  }
    1.44 +
    1.45 +  let { loader, messages } = LoaderWithHookedConsole(module, onMessage);
    1.46 +  let console = loader.globals.console;
    1.47 +  console.log("1st");
    1.48 +  console.error("2nd");
    1.49 +  console.warn("3rd");
    1.50 +  console.info("4th");
    1.51 +  console.debug("5th");
    1.52 +  console.exception("6th");
    1.53 +  assert.equal(messages.length, 6, "Got all console messages");
    1.54 +  assert.deepEqual(messages[0], {type: "log", msg: "1st", innerID: null}, "Got log");
    1.55 +  assert.deepEqual(messages[1], {type: "error", msg: "2nd", innerID: null}, "Got error");
    1.56 +  assert.deepEqual(messages[2], {type: "warn", msg: "3rd", innerID: null}, "Got warn");
    1.57 +  assert.deepEqual(messages[3], {type: "info", msg: "4th", innerID: null}, "Got info");
    1.58 +  assert.deepEqual(messages[4], {type: "debug", msg: "5th", innerID: null}, "Got debug");
    1.59 +  assert.deepEqual(messages[5], {type: "exception", msg: "6th", innerID: null}, "Got exception");
    1.60 +  assert.equal(count, 6, "Called for all messages");
    1.61 +};
    1.62 +
    1.63 +require("sdk/test").run(exports);

mercurial