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!"); + }); + }); +}); +