From d0029efd022bf94e7025df16ca2b55f0bd9451f2 Mon Sep 17 00:00:00 2001 From: fewieden Date: Sat, 10 Feb 2018 12:30:33 +0100 Subject: [PATCH] utils unit tests --- tests/unit/classes/utils_spec.js | 41 ++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 tests/unit/classes/utils_spec.js diff --git a/tests/unit/classes/utils_spec.js b/tests/unit/classes/utils_spec.js new file mode 100644 index 00000000..d833f555 --- /dev/null +++ b/tests/unit/classes/utils_spec.js @@ -0,0 +1,41 @@ +var chai = require("chai"); +var expect = chai.expect; +var Utils = require("../../../js/utils.js"); +var colors = require("colors/safe"); + +describe("Utils", function() { + describe("colors", function() { + var colorsEnabled = colors.enabled; + + afterEach(function() { + colors.enabled = colorsEnabled; + }); + + it("should have info, warn and error properties", function() { + expect(Utils.colors).to.have.property("info"); + expect(Utils.colors).to.have.property("warn"); + expect(Utils.colors).to.have.property("error"); + }); + + it("properties should be functions", function() { + expect(Utils.colors.info).to.be.a("function"); + expect(Utils.colors.warn).to.be.a("function"); + expect(Utils.colors.error).to.be.a("function"); + }); + + it("should print colored message in supported consoles", function() { + colors.enabled = true; + expect(Utils.colors.info("some informations")).to.be.equal("\u001b[34msome informations\u001b[39m"); + expect(Utils.colors.warn("a warning")).to.be.equal("\u001b[33ma warning\u001b[39m"); + expect(Utils.colors.error("ERROR!")).to.be.equal("\u001b[31mERROR!\u001b[39m"); + }); + + it("should print message in unsupported consoles", function() { + colors.enabled = false; + expect(Utils.colors.info("some informations")).to.be.equal("some informations"); + expect(Utils.colors.warn("a warning")).to.be.equal("a warning"); + expect(Utils.colors.error("ERROR!")).to.be.equal("ERROR!"); + }); + }); +}); +